gpt4 book ai didi

java - 在一个语句中从两个表中删除

转载 作者:行者123 更新时间:2023-11-29 07:59:15 25 4
gpt4 key购买 nike

我希望能够从用户 ID = 给定 ID 的 2 个表中删除所有数据。我正在使用 Java、Derby DB、Netbeans 7.3 Beta 2 和 OS X Mountain Lion。

我有两个表(抱歉图片太大):

enter image description here

到目前为止,这是我的陈述:

String stmt2 = "DELETE FROM APP.PERSON JOIN APP.DATAVAULT WHERE PID = ?";                    
PreparedStatement ps2 = Main.getPreparedStatement(stmt2);
ps2 = conn.prepareStatement(stmt2);
ps2.setInt(1, user.getId());
ps2.executeUpdate();
System.out.println("Deleted");

我不明白如何从 APP.DATAVAULT 和 APP.PERSON 中删除。如您所见,APP.DATAVAULT 中有一个外键,它是一个用户 ID。

我试过很多东西,例如:

String stmt2 = "DELETE FROM APP.PERSON, APP.DATAVAULT WHERE PID = ?";

String stmt2 = "DELETE FROM APP.PERSON AND APP.DATAVAULT WHERE PID = ?";

我知道我必须使用外键从两者中删除,但我不知道如何。

最佳答案

不幸的是,根据 the docs ,您不能在 Derby 中使用单个 SQL 查询删除多个表。

可以使用其他一些 RDBMS 包,例如 MySQL ...只是不是 Derby 。

关于java - 在一个语句中从两个表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15468505/

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