Slick中的inSet和inSetBind有什么区别

时间:2014-10-26 23:52:39

标签: scala slick

ScalaDoc of the functions尚未填写。

我知道这些方法用于模仿SQL IN关键字(例如,SELECT * FROM table WHERE id IN VALUES(1, 42, 101)可以使用table.filter(_.id inSet Seq(1, 42, 101))完成。我不知道这个"绑定"版本是或如何选择我应该使用的。

1 个答案:

答案 0 :(得分:18)

inSetinSetBind的不安全版本,它根据传入的输入生成安全/转义的sql值。在您手动设置值的示例中,两种类型的绑定同样安全。

通常使用绑定参数可以提高性能(通过生成的预准备语句),但不会出现集合值的情况。有关详细信息,请参阅here