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

带有表名bindvar的Postgres sqlx准备语句

带有表名bindvar的Postgres sqlx准备语句

Go
慕盖茨4494581 2021-08-16 15:35:22
我正在尝试使用 Golang sqlx 库创建一个准备好的语句。我想让表名是一个 bindVarstmt, err := stmtTx.Preparex("SELECT * FROM $1 WHERE question_id=$2;")然而,这给了我一个语法错误/$1/。我可以不为表名使用绑定变量吗?
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

表名不能使用绑定变量吗?

不,引文来源。

参数只能用作数据值,不能用作标识符。因此,例如这是合理的:

INSERT INTO mytable VALUES ($1);

但这不起作用:

INSERT INTO $1 VALUES (42);

但是fmt.Sprintf如果需要,您可以使用表名,但将 $1, $2, ... 作为数据值。


查看完整回答
反对 回复 2021-08-16
  • 2 回答
  • 0 关注
  • 172 浏览
慕课专栏
更多

添加回答

举报

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