Mysql 在Clojure中返回SQL查询结果?

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 [

我正在学习Clojure,我有一个关于基础知识的问题

如何使函数返回“rows”变量:

(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) )))