我想在PostgreSQL中使用PSAM创建一个模式。我目前正在做的如下-
err = db.Exec("CREATE SCHEMA ?", *org.Name).Error;
字符集
以下是查询结果:
CREATE SCHEMA 'org1'
型
我得到错误
错误:语法错误位于或接近“$1”(SQLSTATE 42601)
但是,在PostgreSQL中创建模式的有效方法是
CREATE SCHEMA org1
型
或
CREATE SCHEMA "org1"
型*org.Name
是从用户那里获得的。我如何以上述任何一种方式创建查询,同时还能防止任何注入攻击?
1条答案
按热度按时间blpfk2vs1#
遇到同样的问题,我用
"github.com/lib/pq"
提供的pq.QuoteIdentifier(*org.Name)
解决了。这是使用postgres驱动程序时的标准。然后您可以使用原始查询来执行查询。查看完整示例:
字符集