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

时间:2013-09-02 16:58:48

标签: sql postgresql go

根据文档,我正在做这个

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

2 个答案:

答案 0 :(得分:3)

确切的语法取决于数据库。

使用

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

答案 1 :(得分:1)

使用$1代替?来尝试此操作: -

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