2

SERIAL(自動インクリメント列)、「name」、「instruction」列として「id」を含むpostgreテーブルがあります。

私はそれに挿入しようとしています:

(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"})

動作し、idに1を挿入するだけですが、自動インクリメント部分は実行しません。

したがって、私はテーブルにアクセスでき、最後の接続詞で証明されているようにテーブルに書き込む権限があります。デフォルト値で書き込むことはできません。

4

1 に答える 1

1

Github でチケットを開いているようです。フォローアップします。ただし、挿入する正しい方法は、デフォルト値を持つキーを省略するだけであることをお知らせします。つまり、次のようになります。

(ql/conj! レシピテーブル {:name "a" :instructions "b"})

作業中の正確なテーブルを生成する SQL コードを投稿していただければ、喜んで問題を再現し、発見した間違いを修正します。これはテスト済みのシナリオであるため、単体テストをすり抜けたリグレッションか、データベースの問題のいずれかを調べています。

于 2012-04-11T16:48:53.970 に答える