gpt4 book ai didi

android - 通过连接到链接表从 SQLite 表中删除

转载 作者:行者123 更新时间:2023-11-30 02:22:04 27 4
gpt4 key购买 nike

我有这些表:

项目:

+ _id
+ timestamp

项目列表:

+ _id
+ timestamp

链接表:

+ _id
+ item_id foreign key references items(_id)
+ item_list_id foreign key references item_list(_id)

一个项目可以在多个列表中。一个列表可以包含很多项。这是一个多对多的关系。

我现在想删除一个项目列表和其中的所有项目,如果它们对该列表是唯一的。但是,如果项目也在另一个列表中,我不想从项目表中删除任何项目。

我可以检索特定播放列表的所有项目:

items a inner join item_list b on a._id = b.item_id where item_list_id = ?

但我正在努力解决如何为特定列表及其项目构建删除,而不删除其他未删除的列表也引用的项目。

非常感谢任何指向正确方向的指示。

我在 Android 上的 SQLite 上运行它。

最佳答案

首先,删除列表:

DELETE FROM itemlists WHERE _id = ?;

然后删除它的所有链接:

DELETE FROM linktable WHERE item_list_id = ?;

然后删除所有没有链接的项目:

DELETE FROM items WHERE _id NOT IN (SELECT item_id FROM linktable);

在一次交易中完成所有这些。

关于android - 通过连接到链接表从 SQLite 表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28338343/

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