【问题标题】:Java Derby Database delete all rows from a tableJava Derby 数据库从表中删除所有行
【发布时间】:2015-05-06 21:22:28
【问题描述】:

我需要用 Java 删除 Apache Derby 数据库中的所有行。 如果我执行statement.executeUpdate("DELETE FROM TABLENAME WHERE CONDITION=") 它可以工作,但如果我尝试statement.executeUpdate("DELETE FROM TABLENAME") 它不会删除所有行。我试过TRUNCATE,也没用。

任何想法。

【问题讨论】:

  • “它不起作用”时您是否收到错误消息?
  • 没有错误。只是我然后将内容转储到文件中并且它不执行删除。
  • 您是否正确关闭了您的Statement(从而触发了COMMIT)?分享更多代码可能会有所帮助。
  • statement.execute("TRUNCATE TABLE TABLENAME") 应该可以工作 - 并且应该比 DELETE 快得多,因为它是 DDL。

标签: java sql derby


【解决方案1】:

使用虚拟条件删除所有记录:

DELETE FROM TABLENAME WHERE 1=1;

【讨论】:

  • @slow-trout 你现在可以尝试删除吗
  • 除非 JDBC 驱动程序中存在错误,否则这相当于 DELETE FROM TABLENAME(据报道它不起作用)。
  • 这超出了我的能力范围。我正在使用 1 月份某处发布的 derby 实用程序,因此它可能是一个错误。
猜你喜欢
  • 2011-12-29
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-09
  • 1970-01-01
相关资源
最近更新 更多