【问题标题】:Slick Plain SQL Queries Get Count光滑的普通 SQL 查询获取计数
【发布时间】:2014-08-15 03:36:53
【问题描述】:

在 Slick 中使用 Plain SQL Query 我想做一个查询并返回行数,我不关心数据。

我应该使用 updateNA 吗?在 StaticQuery 上调用 execute 不会返回任何内容。我如何获得行数?

【问题讨论】:

    标签: sql scala slick


    【解决方案1】:

    您需要改为致电.first.executehttp://slick.typesafe.com/doc/2.0.2/api/index.html#scala.slick.jdbc.StaticQuery0

    如果你有一个正常的选择(而不是删除或更新),你需要按照 Dan 的建议询问行数。

    【讨论】:

      【解决方案2】:

      最简单的方法是修改您正在执行的 SQL 查询以返回行数,方法是用SELECT COUNT(*) FROM (...) 将其括起来。如果您有原始 SQL 字符串可以使用,这是最简单的,但如果您有 StaticQuery 对象,也可以这样做:

      def getRowCount[P](q: StaticQuery[P, _], params: P = ())
                     (implicit pconv: SetParameter[P], rconv: GetResult[Int]): Int = {
        val q2 = StaticQuery.query[P, Int](
          "SELECT COUNT(*) FROM (" + q(params).getStatement + ")")
        q2(params).first
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-14
        • 1970-01-01
        • 2013-03-05
        相关资源
        最近更新 更多