gpt4 book ai didi

mysql - 如何使用 squeryl 从表中删除所有记录?

转载 作者:可可西里 更新时间:2023-11-01 08:06:20 27 4
gpt4 key购买 nike

我研究了使用 squeryl 从表中删除所有记录的方法。我唯一能想到的就是

myTable.deleteWhere(r => r.id.isNotNull)  //id is the primary key

这看起来很奇怪而且可能效率低下。

使用 squeryl 时从表中删除所有记录的最干净的方法是什么?

最佳答案

deleteWhere 子句采用任何逻辑 bool 值,因此您可以简单地说:

myTable.deleteWhere(r => 1 === 1) 

应该输出语句:

DELETE FROM mytable WHERE 1 = 1

如果你想自动删除 where 子句,你可以尝试:

myTable.deleteWhere(r => 1 === 1.inhibitWhen(true))

应该完全禁止 where 子句。

如果您正在寻找一种更有效的方法并且您的数据库支持TRUNCATE 或其他等效函数,您可以从org.squeryl.Session 获取java.sql.Connection。并直接通过 JDBC 发出查询。不幸的是,这会失去一些 Squeryl 提供的类型安全。

关于mysql - 如何使用 squeryl 从表中删除所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941733/

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