背景资讯 我正在尝试规范化SQLite数据库。 数据库有一个名为“image”的表,其中包含一个名为“filepath”的字段,该字段存储图像的绝对文件路径。但是,对于具有多个嵌套目录级别的大型媒体集合,数据库的大小会增加。 所以我现在计划创建一个名为“paths”的新表来单独存储目录路径。 “Image”表将简单地将外键存储到“paths”表中。 “Image”表还有一个名为“title”的字段,使用它我可以重建绝对文件路径以便在我的软件中使用
问题: 一旦该记录不再充当“图像”表中任何记录的外键,如何从“路径”表中删除记录?
答案 0 :(得分:1)
以下语句删除所有此类记录:
DELETE FROM paths
WHERE pathID NOT IN (SELECT pathID
FROM image)
或者,如果您想在删除具有特定image
的{{1}}记录后立即进行检查,请使用以下内容:
pathID