Mysql cronjob java.sql.SQLException上出错:参数索引超出范围(1>;参数数,即0)

Mysql cronjob java.sql.SQLException上出错:参数索引超出范围(1>;参数数,即0),mysql,clojure,Mysql,Clojure,您好,这是我收到的错误,似乎无法发现我的SQL语句有什么问题。我觉得多看一双眼睛也没什么坏处 UPDATE sales SET state_name =?, sales_id =null, sales_timer =null where entity_id =? 下面是包含该语句的函数 (defn release [m] (db/execute! (core/db) (str "UPDATE sales SET state_name =?

您好,这是我收到的错误,似乎无法发现我的SQL语句有什么问题。我觉得多看一双眼睛也没什么坏处

UPDATE sales SET state_name =?, sales_id =null, sales_timer =null where entity_id =?
下面是包含该语句的函数

(defn release
      [m]
      (db/execute!
        (core/db)
        (str "UPDATE sales SET state_name =?, sales_id =null, sales_timer =null where entity_id =?")
        [(name (m :current-state))
         (m :entity-id)]))
这是我们收到的错误

(defn get-unfinished-sales
    []
      (db/query
        (score/db)
        (str "select * from sales where state_name = 'in-progress'")))


 (defn unlock-sales
       [usales]
       (doall (map (fn [sale]
                       (->
                         (score/put-batch
                           {:user     core/system-user
                            :messages [{:entity-id (sale :entity-id)
                                        :message-type "release"
                                        :message {}}]
                            }
                           :sales)
                         (core/log-result-if-failure))) usales)))


(defn
  run
  [& args]
  (->>
    (get-unfinished-sales)
    (filter (fn [row] (not (nil? (row :sales-timer)))))
    (filter (fn [row] (> (t/in-hours (t/interval (row :sales-timer) (t/now))) 1)))
    (unlock-sales)))

您对
db/execute的调用
应将SQL字符串作为向量中的第一项,并带有以下参数:

(defn release
      [m]
      (db/execute!
        (core/db)
        ["UPDATE sales SET state_name =?, sales_id =null, sales_timer =null where entity_id =?"
         (name (m :current-state))
         (m :entity-id)]))

您对
db/execute的调用
应将SQL字符串作为向量中的第一项,并带有以下参数:

(defn release
      [m]
      (db/execute!
        (core/db)
        ["UPDATE sales SET state_name =?, sales_id =null, sales_timer =null where entity_id =?"
         (name (m :current-state))
         (m :entity-id)]))

我知道它是clojure。那么Java异常来自哪里?Java异常来自我们的日志我知道它是clojure。那么Java异常来自哪里?Java异常来自我们的日志