为什么我的 SQL 占位符没有被替换(使用 Go pq)?

根据文档,我正在这样做


var thingname string = "asdf";

var id int

err = database.QueryRow("SELECT id from things where thing = ?", thingname).Scan(&id)

但 Postgres 说


ERROR:  syntax error at end of input at character 41

STATEMENT:  SELECT id from things where thing = ?

我看不出我做的与演示代码有很大不同。我正在使用pq。


摇曳的蔷薇
浏览 235回答 2
2回答

拉丁的传说

确切的语法取决于数据库。用err = database.QueryRow("SELECT id from things where thing = $1", thingname).Scan(&id)

红颜莎娜

试试这个使用$1而不是?:-err = database.QueryRow("SELECT id from things where thing = $1", thingname).Scan(&id)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go