gpt4 book ai didi

scala - 是否可以在纯 sql Slick 中对整数使用 IN 子句?

转载 作者:行者123 更新时间:2023-12-03 22:04:28 27 4
gpt4 key购买 nike

这里有一个类似的问题,但它实际上并没有回答这个问题。

Is it possible to use IN clause in plain sql Slick?

请注意,这实际上是更大更复杂查询的一部分,因此我确实需要使用普通 sql 而不是 slick 的提升嵌入。像下面这样的东西会很好:

val ids = List(2,4,9)
sql"SELECT * FROM coffee WHERE id IN ($ids)"

最佳答案

我已经为 Slick 编写了一个小扩展来解决这个问题:https://github.com/rtkaczyk/inslick
对于给定的示例,解决方案将是:

import accode.inslick.syntax._

val ids = List(2,4,9)
sqli"SELECT * FROM coffee WHERE id IN *$ids"
此外,InSlick 适用于元组或案例类的迭代。它适用于所有 Slick 3.x 版本和 Scala 版本 2.11 - 2.13。在我工作的公司,我们已经在生产中使用它几个月了。
插值对 SQL 注入(inject)是安全的。它使用一个宏以类似于 trydofor's answer 的方式重写查询。

关于scala - 是否可以在纯 sql Slick 中对整数使用 IN 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com