使用内部联接SQLITE从两个表中删除行

时间:2013-02-10 20:33:27

标签: sqlite inner-join delete-row

如何从两个单独的表中删除一行?我认为可以使用内连接

来做到这一点

DELETE a.*, b.* FROM Holiday INNER JOIN Accommodation b on a.LocationID = b.LocationID

这里我尝试通过将第一个表中的主键位置与第二个表中的位置ID相匹配来删除。我在“

附近得到一个SQL异常”sqlException

我在SQLITE,java

中这样做

enter image description here

1 个答案:

答案 0 :(得分:7)

在SQLite中,只有一个DELETE命令从一个表中删除。

您所写的查询实际上并不限制要删除的记录,因此如果您确实要删除所有记录,请使用以下命令:

DELETE FROM Holiday;
DELETE FROM Accommodation;

如果要删除主表中的一条记录和子表中的所有相应记录,只需按该键值过滤:

DELETE FROM Holiday       WHERE LocationID = 1;
DELETE FROM Accommodation WHERE LocationID = 1;