我希望能够从 2 个表中删除所有数据,其中用户的 id = 给定的 id。我正在使用 Java、Derby DB、Netbeans 7.3 Beta 2 和 OS X Mountain Lion。
我有两张桌子(对巨大的图像感到抱歉):
这是我到目前为止的声明:
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 = ?";
我知道我必须使用外键从两者中删除,但我不知道如何。