我想插入一行到一個MySQL表:MySQL的插入浮點32和Float64轉到
package main
import (
"strconv"
"io/ioutil"
"strings"
"os/exec"
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
temp_cpu := getCPUTemp() // returns float32
temp_gpu := getGPUTemp() // returns float64
db, err := sql.Open("mysql", "user:[email protected]/sysStats")
handleError(err)
_, err = db.Query("INSERT INTO temperatures (id, cpu, gpu, timestamp) VALUES (?, ?, ?, ?)", 1, temp_gpu, temp_cpu, time.Now())
handleError(err)
db.Close()
return
}
它成功地建立,但是當我運行生成的二進制文件,它只是超時很長一段時間後,與通用超時錯誤。
該表具有以下模式:
+----------------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-----------+------+-----+---------+-------+
| idtemperatures | int(11) | NO | PRI | NULL | |
| cpu | float | YES | | NULL | |
| gpu | float | YES | | NULL | |
| timestamp | timestamp | YES | | NULL | |
+----------------+-----------+------+-----+---------+-------+
我的MySQL實例託管在同一臺服務器上運行這一點,我可以與來自終端的用戶/密碼訪問數據庫。
任何幫助?
謝謝!
在你的數據庫的id字段被稱爲' 「idtemperatures」'你用' 「ID」'你的SQL語句。 – icza
啊!對不起,已經很晚了。但爲什麼沒有錯誤信息?我仍然在學習Go,這是迄今爲止最令人沮喪的部分。 –
缺少錯誤是因爲你使用了'DB.Query()',但你真的應該使用'DB.Exec()'。有關詳細信息,請參閱我編輯的答案。 – icza