Mysql 在Clojure中返回SQL查询结果?
我正在学习Clojure,我有一个关于基础知识的问题 如何使函数返回“rows”变量:Mysql 在Clojure中返回SQL查询结果?,mysql,clojure,Mysql,Clojure,我正在学习Clojure,我有一个关于基础知识的问题 如何使函数返回“rows”变量: (defn list-domains [] (sql/with-connection db (sql/with-query-results rows ["select * from domains"] rows))) 感谢您使用很久了,但据我所知,sql/with查询结果不会返回结果。它仅以查询结果作为参数计算子表达式(最后一个参数): (defn list-domains [
(defn list-domains []
(sql/with-connection db
(sql/with-query-results rows ["select * from domains"]
rows)))
感谢您使用很久了,但据我所知,sql/with查询结果
不会返回结果。它仅以查询结果作为参数计算子表达式(最后一个参数):
(defn list-domains []
(sql/with-connection db
(sql/with-query-results rows ["select * from domains"]
(do-something-with rows) )))
如果确实要返回,可以尝试使用以下命令实例化序列:
编辑:哼。。。好。。。事实上,这与以下文档提供的解决方案完全相同:/的文档在我看来非常混乱,但我会尝试一下,看看是否能正常工作。@bluekirai我不确定这是否有帮助,但是……Clojure中的序列是惰性的。这意味着“根据需要”检索值.
doall
只需强制对序列中的每个项进行求值,即可生成一个“真实”的值列表。
(defn list-domains []
(sql/with-connection db
(sql/with-query-results rows ["select * from domains"]
(doall rows) )))