【问题标题】:How do I use clojure jdbc execute?如何使用 clojure jdbc 执行?
【发布时间】:2013-10-26 23:24:55
【问题描述】:

我正在努力让 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! 函数我哪里出错了?

【问题讨论】:

  • 执行!需要在事务中才能提交?
  • 这两种情况都会发生,但正如 PositiveLogic 所提到的,我现在看到这是一个已知问题。

标签: sqlite jdbc clojure


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2016-01-22
    相关资源
    最近更新 更多