私はclojureが初めてです。hsqldbを使用してjdbcで遊んでいます。
フィールド「cedula」が主キーであるテーブル「persona」を更新するために、この関数を実行しましたか
(defn update [cedula x]
(sql/with-connection common/database
(sql/update-values :persona
["cedula=?" cedula] x)))
これをREPLで実行しました
(per/update 111 {:cedula 122 :nombre "Raul" :cargo "mm"})
しかしその後、DB の .log ファイルに移動すると、削除と挿入が行われていることがわかります。
/*C15*/SET SCHEMA PUBLIC
CONNECT USER SA
SET AUTOCOMMIT FALSE
DELETE FROM PERSONA WHERE CEDULA=111
INSERT INTO PERSONA VALUES(122,'Raul','mm')
COMMIT
SET AUTOCOMMIT TRUE
DISCONNECT
それは正常ですか?