在下面的這個(gè)例子中,UPDATE命令不起作用。為什么 ?詳見(jiàn)updateDate方法。package mainimport ( "database/sql" "fmt" "log" _ "github.com/go-sql-driver/mysql")type ConnData struct { // para usar conex?o via socket veja '/etc/mysql/my.cnf' // para usar conex?o via tcp confira a porta com 'ps -ef | grep mysqld' dbuser, dbpasswd, dbname, tcp, socket string}var myConnData = ConnData{dbuser: "soma", dbpasswd: "secret1000", dbname: "test", tcp: "tcp(127.0.0.1:3307)", socket: "unix(/tmp/mysql.sock)"}// CREATE TABLE userinfo// (// uid serial NOT NULL,// username character varying(20) NOT NULL,// depto character varying(10) NULL,// Created date,// CONSTRAINT userinfo_pkey PRIMARY KEY (uid)// )func main() { _ = ConnectToMySQLAndRunCmd(myConnData).(string)}func ConnectToMySQLAndRunCmd(connData ConnData) interface{} { myConnStr := connData.dbuser + ":" + connData.dbpasswd + "@" + connData.tcp + "/" + connData.dbname log.Printf("Connecting to MySQL Server using %s\n", myConnStr) db, err := sql.Open("mysql", myConnStr) // myConnStr := connData.dbuser + ":" + connData.dbpasswd + // "@" + connData.tcp + "/" + connData.dbname defer db.Close() checkErr(err) // Open doesn't open a connection. Validate DSN data: err = db.Ping() checkErr(err) // Limpando a tabela _, err = db.Exec("DELETE FROM userinfo") checkErr(err)}出了什么問(wèn)題?當(dāng)我運(yùn)行主程序時(shí),請(qǐng)參見(jiàn)下面的結(jié)果。$ ./main2015/09/05 14:04:34 Connecting to MySQL Server using soma:soma@tcp(127.0.0.1:3307)/test2015/09/05 14:04:34 ID = 3, affected = 12015/09/05 14:04:34 3 Pedro TI 2015-09-012015/09/05 14:04:34 ???? Updating record 3Records affected 02015/09/05 14:04:34 3 Pedro TI 2015-09-01我正在使用go build -a -installsuffix cgo -o main .構(gòu)建主程序
UPDATE SQL 命令不適用于 GO 語(yǔ)言
翻翻過(guò)去那場(chǎng)雪
2021-11-08 10:12:47