我正在尝试使用 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, ... 作为数据值。
- 2 回答
- 0 关注
- 172 浏览
添加回答
举报
0/150
提交
取消