【问题标题】:Batch delete in mysql在mysql中批量删除
【发布时间】:2012-06-04 22:33:28
【问题描述】:

是否可以在 mysql 中使用 jdbc 或本机 sql 执行批量删除?

我有一组未知数量的字符串要与一列进行比较并删除行。当参数数量未知时,是否可以在 jdbc PreparedStatement 中使用参数?

除了构造一个包含类似子句的字符串并执行它之外,还有其他方法可以做到这一点吗?

【问题讨论】:

    标签: mysql sql database jdbc


    【解决方案1】:

    是的,有可能,但可能不值得。

    Prepared statements 真正设计用于处理除了变量之外查询完全相同的情况。

    如果您无法提前构建查询,它们将无法帮助您。

    所以

    delete from table where field1 = 'string1' or field2='string2'..... or fieldX='stringX'
    

    如果查询是从头开始构建的,或者如果它是作为准备好的语句创建的,那么在事先不知道 X 的情况下,它的运行速度也会一样快。

    如果我误解了您的问题,请告诉我。

    【讨论】:

    • 感谢 Brian 的回复。我想知道 mysql 是否像批量插入一样支持某种本机批量删除。
    • 那么我不确定您会要求什么,而不仅仅是从满足某种标准的表中删除。这将适用于从 1 到无限数量的行。
    猜你喜欢
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多