为了账号安全,请及时绑定邮箱和手机立即绑定

Go SQL 语法错误

Go SQL 语法错误

Go
Smart猫小萌 2021-10-18 16:35:35
我正在尝试使用 将一行插入到 Postgres 表中database/sql。我正在运行的代码看起来像...res, err := db.Exec("INSERT INTO image(name) VALUES(?);", fname)if err != nil {    return err}...fname是一个字符串。类似的东西"image-name.png"。该image表是由语句创建的..._, err := db.Exec("CREATE TABLE image (id SERIAL, name VARCHAR)")...运行该CREATE TABLE语句后,我可以跳入psql并手动运行INSERT INTO image(name) VALUES('some-random-image.jpg');将适当的行添加到image表中。但是,INSERT Exec上面的调用始终与pq: syntax error at or near ")".谁能指出我在这里做错了什么?另外,作为后续,有什么方法可以查看语句格式的结果go吗?我在想的东西像func Preview (template string, args...) string这样Preview("INSERT INTO tbl(col) VALUES(?);", "test")   => "INSERT INTO tbl(col) VALUES('test');"
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

您需要在 SQL 中使用 $1, $2, ... 作为占位符值。占位符字符依赖于数据库,对于 Postgres 它们是$X.


查看完整回答
反对 回复 2021-10-18
  • 1 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信