sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?

标签 sql postgresql go sqlx

我一直在尝试查询 PostgreSQL ltree .在表 tree 中,path 的类型为 ltree。 我可以用 psql 写:

SELECT id, path FROM tree WHERE path @ '12345'

没问题。 当我在 sqlx 中执行时:

db.Get(&path, "SELECT id, path FROM tree WHERE path @ '$1'", entryID)

它一直告诉 pq: operant syntax error。不确定是否有办法正确转义查询字符串中的单引号。我试过了,但还是不行:

db.Get(&path, `SELECT id, path FROM tree WHERE path @ ''$1''`, entryID)

最佳答案

原来我根本不需要 $1 左右的单引号。这个查询会起作用:

db.Get(&path, `SELECT id, path FROM tree WHERE path @ $1`, entryID)

关于sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52786938/

相关文章:

php - mysql在查询中将两列合二为一

SQL只选择一个符合条件的项目

c# - sqlDecimal 到十进制 clr 存储过程无法将类型 'System.Data.SqlTypes.SqlDecimal' 的对象转换为类型 'System.IConvertible'

sql - 根据多值参数中断 SSRS 报告

ruby-on-rails - git clone 我的 rails 项目后出现错误

go - 如何在 Gin 中间件中获取 url?

postgresql - PostgreSQL - 错误 : must be superuser to copy to or from a file

postgresql - osm_ways 表中的长度与 length_m

json - 如何解析/反序列化动态 JSON

go - 如何更改导入文件?