mysql - 在 Clojure 中返回 SQL 查询结果?

标签 mysql clojure

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

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

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        rows)))

谢谢

最佳答案

很久以来I've played [FR] ,但据我所知,sql/with-query-results返回结果。它只是以查询结果作为参数来计算子表达式(最后一个参数):

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        (do-something-with rows) )))

如果你确实想返回,你可以尝试使用doall来实例化序列。 :

(defn list-domains []
  (sql/with-connection db
    (sql/with-query-results rows  ["select * from domains"]
        (doall rows) )))

编辑:嗯...好吧...事实上,这与 with-query-results 的文档提供的解决方案完全相同。 :/

关于mysql - 在 Clojure 中返回 SQL 查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162553/

相关文章:

php - 制作 PHP/MySQL 搜索引擎

Clojurescript OM 不同 html 上的目标元素

unix - 如何在 Clojure 中(逐行)订阅阻塞 shell 命令的输出?

mysql - 更新中的自动增量值与内部生成的值冲突

java - MySQL 给出正确的输出,但 Java 引发异常

javascript - 提交按钮在 Chrome 中不起作用,但在 Firefox 中起作用

javascript - 我需要连接我的数据库然后将其显示在网页上

clojure - 为什么 Java 会提示找不到命名空间?

clojure - Clojure 中的斐波那契函数出现错误?

clojure - 如果 Clojure 中当前值为 nil,如何分配默认值?