【发布时间】:2015-02-05 15:45:15
【问题描述】:
我有这些表:
项目:
+ _id
+ timestamp
项目列表:
+ _id
+ timestamp
链接表:
+ _id
+ item_id foreign key references items(_id)
+ item_list_id foreign key references item_list(_id)
一个项目可以在多个列表中。一个列表可以包含许多项目。这是一个多对多的关系。
我现在想删除一个项目列表及其中的所有项目,如果它们对于该列表是唯一的。但是,如果它们也在另一个列表中,我不想从 items 表中删除任何项目。
我可以检索特定播放列表的所有项目:
items a inner join item_list b on a._id = b.item_id where item_list_id = ?
但我正在努力解决如何为特定列表及其项目构建删除,而不删除也被另一个未删除列表引用的项目。
高度赞赏任何正确方向的指针。
我在 Android 上的 SQLite 上运行它。
【问题讨论】:
-
如果要删除整个表可以不用
dropTable吗? -
不是整个表。我想从项目列表中删除一个列表,以及项目表中的所有项目(如果它们仅在该列表中)。如果它们也在另一个列表中,我无法从项目表中删除它们。