我希望能够从2个表中删除所有数据,其中user的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");
Run Code Online (Sandbox Code Playgroud)
我不明白我如何从APP.DATAVAULT以及APP.PERSON中删除.正如您所看到的,APP.DATAVAULT中有一个外键,它是一个用户ID.
我尝试了很多东西,比如:
String stmt2 = "DELETE FROM APP.PERSON, APP.DATAVAULT WHERE PID = ?";
Run Code Online (Sandbox Code Playgroud)
和
String stmt2 = "DELETE FROM APP.PERSON AND APP.DATAVAULT WHERE PID = ?";
Run Code Online (Sandbox Code Playgroud)
我明白我必须使用外键从两者中删除,但我不知道如何.