我有桌子
files
另外,我有超过 100 个表,我使用关系/外键作为 file_id
如何获取所有不存在关系的
files
(这意味着该文件未附加到任何表)?
不太聪明的方法。复制所有相关的表名称,将它们放入文本编辑器中,编辑所有行以构建一个丑陋的语句,例如:
SELECT * FROM files f WHERE
NOT EXISTS (SELECT file_id FROM xyz1 WHERE f.id = xyz1.file_id)
AND NOT EXISTS (SELECT file_id FROM xyz2 WHERE f.id = xyz2.file_id)
AND NOT EXISTS (SELECT file_id FROM xyz3 WHERE f.id = xyz3.file_id)
;