Mysql cronjob java.sql.SQLException上出错:参数索引超出范围(1>;参数数,即0)
您好,这是我收到的错误,似乎无法发现我的SQL语句有什么问题。我觉得多看一双眼睛也没什么坏处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 =?
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异常来自我们的日志