我很难让jdbc/execute!
函数提交我对sqlite数据库所做的任何更改。
例如,
user=> (jdbc/execute! sqlite-db ["insert into person (second_name) values ('Gandhi');"])
nil
返回 nil
并且未插入行。但是,我知道该函数以某种方式连接到数据库,因为我可以使用无效的表名并得到错误:
user=> (jdbc/execute! sqlite-db ["insert into ABCDEFG (second_name) values ('Gandhi');"])
SQLException [SQLITE_ERROR] SQL error or missing database (no such table: ABCDEFG) org.sqlite.DB.newSQLException (DB.java:383)
jdbc库还包含jdbc/insert!
函数,我可以使用它正确插入。但是,我想使用execute!
函数,因为在我的应用程序中我使用了更复杂的语句,因此我认为我将提供参数化的sql字符串。
使用execute!
函数在哪里出错?
答案 0 :(得分:3)
在回答时 - > Using execute! with no params to insert a row fails on SQLite< - 被列为仍然是一个未解决的问题,需要在java.jdbc的beta 0.3.0中解决