使用 SQLKorma 获取语法异常:使用 SQL 执行查询失败
Posted
技术标签:
【中文标题】使用 SQLKorma 获取语法异常:使用 SQL 执行查询失败【英文标题】:getting exception with SQLKorma for syntax: Failure to execute query with SQL 【发布时间】:2014-02-25 07:13:38 【问题描述】:知道这个异常试图传达什么吗? 我将 sqlKorma 与 Postgres 9.3 一起使用。 我试图在表中一次插入多行,但出现语法错误。
现在我的查询中的任何地方都没有“0”,也没有编写原始 SQL 来弄乱语法。
korma 文档也不是很清楚。
Failure to execute query with SQL:
DO 0 :: []
PSQLException:
Message: ERROR: syntax error at or near "0"
Position: 4
SQLState: 42601
Error Code: 0
org.postgresql.util.PSQLException: ERROR: syntax error at or near "0"
Position: 4
这是我的代码
(insert vendor-subsidiary-allowance
(values (vec (for [p (seq percentages)]
:id (java.util.UUID/randomUUID)
:type "%"
:id_allowance_category (utils.uuid/from-str (p 0))
:id_vendor_subsidiary (allowance-form "vendor_sub_id")
:value (parse-number (p 1))))))
注意:百分比是一个字典,其中 uuid 字符串作为键,值作为一些数字字符串
【问题讨论】:
【参考方案1】:也许您想阅读this 以找到将生成的 SQL 打印到控制台的方法。
您可以使用sql-only
或dry-run
宏来执行此操作。
使用sql-only
或dry-run
打印生成的SQL 并检查SQL 是否正常。
【讨论】:
哦……太好了!但 sql-only 显示占位符,没有正在发生的值。 您也可以通过在postgresql.conf
中设置log_statement = 'all'
然后从PostgreSQL 的日志中获取它来获取SQL 文本。以上是关于使用 SQLKorma 获取语法异常:使用 SQL 执行查询失败的主要内容,如果未能解决你的问题,请参考以下文章