2011-08-23 33 views

回答

3

我能想象的唯一方法是寫從你掌握的表不具備的細節,然後再加入此查詢與主表的結果,像

DELETE FROM table1 t 
INNER JOIN 
(
    SELECT pk_column FROM table1 t1 
    LEFT JOIN details1 d1 ON (d1.fk_column = t1.pk_column) 
    // other LEFT JOIN[s] if you have more detail tables. 
    WHERE d1.pk_column IS NULL 
)a ON t.pk_column = a.pk_column 

的返回行的查詢替代加入,其作品幾乎相同是添加WHERE NOT EXIST來檢查

+1

感謝您的回答。除了連接或外部處理程序(腳本語言)之外,似乎沒有其他辦法。在我的特例中,由於表中的1.5M記錄,連接是不可接受的,所以我需要等待很長時間,所以我使用外部處理程序。 – z3ple

0

將「刪除級聯」添加到表/約束定義。

+0

他不想刪除打破外來約束的記錄,只是跳過它們 – a1ex07

相關問題