2014-06-26 114 views
2

過去幾個月我一直在研究MySQL。 如果我的問題很愚蠢,請道歉。MySQL ON DELETE CASCADE

我們有外鍵檢查,

啓用 - SET @[email protected]@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=1;

禁用 - SET @[email protected]@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0;

同樣,

我們有任何查詢啓用和MySQL中禁用ON DELETE CASCADE

謝謝。啓用

+0

可能的重複e [如何使用SQL Server級聯刪除?](http://stackoverflow.com/questions/6260688/how-do-i-use-cascade-delete-with-sql-server) –

回答

0

使用創建新的外鍵約束:

CREATE TABLE table_name 
(
    column1 datatype null/not null, 
    column2 datatype null/not null, 
    ... 

    CONSTRAINT fk_column 
    FOREIGN KEY (column1, column2, ... column_n) 
    REFERENCES parent_table (column1, column2, ... column_n) 
    ON DELETE CASCADE 
); 

或改變現有約束:

ALTER TABLE table_name 
ADD CONSTRAINT constraint_name 
    FOREIGN KEY (column1, column2, ... column_n) 
    REFERENCES parent_table (column1, column2, ... column_n) 
    ON DELETE CASCADE; 
+0

謝謝。但是,我可以禁用「ON DELETE CASCADE」一次添加而不被刪除嗎? –

+0

非常感謝!非常感謝你的幫助! :-) –

0

您需要

刪除現有的外鍵約束 添加具有一個新的DELETE CASCADE設置

+0

謝謝。但是,我可以禁用「ON DELETE CASCADE」一次添加而不被刪除嗎? –

+0

ON DELETE CASCADE是約束的一部分,因此不能單獨禁用。您需要禁用約束本身。 –

+0

非常感謝Nikhil Talreja。 :-) :-D –