gpt4 book ai didi

jdbc - 如何使用 clojure.jdbc 查询列表

转载 作者:行者123 更新时间:2023-12-05 05:28:08 26 4
gpt4 key购买 nike

(sql/with-connection {... mydatabase }
(sql/with-query-results rows [ "select * from users where email in (?)"
[ "bob@site.com" "mary@other.com" ] ]
(doseq [rows row]
(prn row))))

这将始终不返回任何结果。我也尝试过只使用“?”代替“(?)”

最佳答案

请注意,您不能直接执行此操作。在后台宏 with-query-results 使用 java.sql.PreparedStatement 并为每个参数调用 .setObject。所以你必须写这样的东西

(sql/with-connection db
(sql/with-query-results rs
[(str "select * from users where email in ("
(apply
str
(interpose ", " (map #(str "\"" % "\"")
["bob@site.com" "mary@other.com"]))) ")")]
...))

使用“in”参数生成已经准备好的 sql 字符串:“select * from users where email in (\"bob@site.com\",\"mary@other.com\")".

更好的方法是只使用像 sqlkorma 这样的 clojure sql 库之一。

关于jdbc - 如何使用 clojure.jdbc 查询列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13923914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com