我有一个带有“id”的postgre表作为SERIAL(自动增量列),“name”和“instruction”列。
我正试图插入其中:
(ql/conj! recipe-table {:id nil :name "a" :instructions "b"})
*Evaluation aborted
(ql/conj! recipe-table {:id :default :name "a" :instructions "b"})
*Evaluation aborted
(ql/conj! recipe-table {:name "a" :instructions "b"})
*Evaluation aborted
可是:
(ql/conj! recipe-table {:id 1 :name "a" :instructions "b"})
有效,它只是将1插入id,但它不会执行自动增量部分。
所以我可以访问该表,我有权使用最后一个conj来证明它,我只是不能用默认值写它。
答案 0 :(得分:1)
我看到你在Github上开了一张票,我会在那里跟进。然而,我会告诉您,插入的正确方法只是省略具有默认值的键,即:
(ql / conj!recipe-table {:name“a”:instructions“b”})
如果您愿意发布生成您正在使用的确切表的SQL代码,我将很乐意尝试重现该问题并纠正我可能发现的任何错误。这是一个经过测试的场景,因此我们要么关注已经超过单元测试的回归,要么查看数据库的问题。