我正在尝试在 db.Exec 中传递一个 Go 变量:
pinakas := "dokimi03"
crTable := `CREATE TABLE ? (id bigint(20) NOT NULL AUTO_INCREMENT, username varchar(100) NOT NULL, password varchar(100) NOT NULL, email varchar(100) NOT NULL, PRIMARY KEY (id));`
_, errCreate := db.Exec(crTable, pinakas)
if errCreate != nil {
log.Println(errCreate)
}
运行代码时从 MySQL 得到的错误是:
错误 1064:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 '? 附近使用的正确语法。(id bigint(20) NOT NULL AUTO_INCREMENT, username varchar(100) NOT NULL, passwo' 在第 1 行
?如果我用dokimi03表名替换,代码就会运行(pinakas当然还要删除 var)。
我搜索了文档,?似乎是在 Go-MySQL 上表示变量的合适字符。我错过了什么?
qq_遁去的一_1
相关分类