我有一个表格文件
+------------+
| id | name |
+------------+
+ 1 | x.jpg |
+ 2 | y.jpg |
+------------+
其他表引用这些文件,例如
+---------------+-------+
| id | file_id | user |
+---------------+-------+
+ 1 | 2 | test |
+ 2 | 1 | test1 |
+---------------+-------+
并且想要检查文件是否是orphanet但我不知道它在哪些表中被引用。什么是最快的检查方式?
答案 0 :(得分:2)
您必须非常明确地使用您的查询。让我们假设您可能包含对table1
表的引用的其他2个表(table2
和Files
)。
你会
SELECT Files.* FROM Files
LEFT JOIN table1 ON (Files.id = table1.file_id)
LEFT JOIN table2 ON (Files.id = table2.file_id)
WHERE
table1.file_id IS NULL
AND table2.file_id IS NULL
此查询会将您的其他表格加入到您的Files
表格中并说出"在两个表格中都没有File.id
的情况下给我结果"。您必须为要搜索的每个表扩展此查询。