我有兩個互連的表:一個存儲一些通用結果(表1),另一個存儲每個結果(表2)的N行。 table2中的每條記錄都有一個記錄table1行引用(字段名爲「ref_id」)的「auto_id」的字段根據另一個表的結果衝出表
我故意刪除了table1中的一些記錄,但我在table2中留下了引用的行。
如何查找表2中無效的「ref_id」行,鏈接到table1中不存在的「auto_id」?
我想這樣
SELECT *
FROM table2
WHERE NOT EXISTS(
SELECT auto_id
FROM 'table1'
WHERE 'table2.res_id' = auto_id
)
,但顯然有-S的一些錯誤。 感謝您的幫助!
「正確」的解決方案是通過設置[外鍵](http://dev.mysql.com/doc/refman/5.1/en/ansi-diff-foreign-keys。 html),這樣數據庫將自動刪除依賴記錄或防止由於依賴記錄的存在而導致的刪除。但是,MySQL只在InnoDB表上強制執行外鍵。 – 2015-02-23 09:52:06