postgresql – 如何在clojure中使用yesql插入和更新postgres数组
发布时间:2020-12-13 16:01:49 所属栏目:百科 来源:网络整理
导读:我试过传递一个clojure矢量,也尝试了以下格式: -- name: insert-into-sometable!-- inserts in the sometable the lid and uidsINSERT INTO sometable(lid,uids) values(:lid,ARRAY[:uids]) 但这两种方法都会引发数据不匹配错误. 我想如果我可以从查询文件
我试过传递一个clojure矢量,也尝试了以下格式:
-- name: insert-into-sometable<! -- inserts in the sometable the lid and uids INSERT INTO sometable (lid,uids) values(:lid,ARRAY[:uids]) 但这两种方法都会引发数据不匹配错误. 我想如果我可以从查询文件中调用postgres数组函数,那么更新和插入可以很容易地完成.请帮忙. 提前致谢 解决方法
第二次尝试的错误消息给出了一个暗淡的暗示:
AssertionError Assert failed: Query argument mismatch. Expected keys: (:uids]) Actual keys: (:uids) Missing keys: (:uids]) 显然,当yesql尝试解析:uids键时,它会向南移动,因为它会附加数组定义的右括号.让我们尝试别的东西: -- name: insert-into-sometable<! -- inserts in the sometable the lid and uids INSERT INTO sometable (lid,ARRAY[ :uids ]) 注意:uids和数组括号之间的额外空格. => (insert-into-sometable<! {:lid 1,:uids [1 2 42]) ;; => 1 看起来像yesql中的一个错误,我应该:uid]永远不应该被解析为有效的密钥. 编辑:即将提交yesql的错误,但它已经修复了最近发布的0.5.2版本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |