Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何在Slick 2.0中计算(*)?_Scala_Slick_Slick 2.0 - Fatal编程技术网

Scala 如何在Slick 2.0中计算(*)?

Scala 如何在Slick 2.0中计算(*)?,scala,slick,slick-2.0,Scala,Slick,Slick 2.0,据报道,, 要获取表中的行数,请执行以下操作: val q1 = coffees.length // compiles to SQL (simplified): // select count(1) from "COFFEES" 但是,coffees.length的类型是Column[Int] 如何执行查询并获取值?尝试coffies.length.first应该执行并返回Int 抱歉,事实上,在slick 1.0中有第一种方法可以做到这一点,在slick 2.0中,他们放弃了它,转而使用

据报道,, 要获取表中的行数,请执行以下操作:

val q1 = coffees.length
// compiles to SQL (simplified):
//   select count(1) from "COFFEES"
但是,coffees.length的类型是Column[Int]

如何执行查询并获取值?

尝试coffies.length.first应该执行并返回Int

抱歉,事实上,在slick 1.0中有第一种方法可以做到这一点,在slick 2.0中,他们放弃了它,转而使用更通用的运行

执行查询的函数是

coffees.length.run
coffees.length.run

我只是在升级到slick 2.0时遇到了同样的问题。我忘了确切的方法在哪里,但泛型.run似乎对我有用,即


如果您的表名不是大写,则需要引号。

我之前已经尝试过,但列[Int]没有第一个方法。由于某些原因,我无法使用此run方法。我的DB驱动程序是否缺少一个特性?。。。然而,我能够让它像这样运行:scala.slick.lifted.compiledcoffes.length.run。如果有人知道我遗漏了什么以阻止短版本工作,请告诉我!太神了谢谢大家!@ChrisW:你导入了你的简单驱动程序配置文件吗?@KrzysztofKowalski:我可以发誓我确实导入了我的驱动程序的简单模块中的所有符号,但无论如何,出于某种原因,较短的语法table.length.run现在起作用了。这起作用,但性能可能非常差。请参阅下面我对@tuxSlayer的评论。请注意,此查询可能比.length.run备选方案快一个数量级。我的测试数据库大约有180k行,在我的计算机上,第一种方法大约需要350ms,而StaticQuery方法大约需要30ms,这与我从mysql控制台得到的差不多。是的,我查询coffee.length.run的计划有点可怕。这么多嵌套查询:从select count1中选择x2.x3作为从select x4中选择x3。`updated_at`as x5,x4。`description`as x6,x4。`status`作为x7从`sales`x4 x19 x2中选择
StaticQuery.queryNA[Int]("select count(*) from \"" + TableName + "\"").first