2012-05-11 60 views
1

行動讓我們假設我有一個外鍵,其行爲分別是:如何更改外鍵

on delete set default, on update cascade 

如果我想改變的動作,我怎麼在ALTER TABLE選項指定呢?
我已經試過這樣:

change my_table add on delete cascade my_key; 

但是它給出了一個語法錯誤:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on delete cascade matricola' at line 1 

我想更改默認的動作觸發時引用的主鍵被刪除。

回答

3
ALTER TABLE my_table DROP FOREIGN KEY my_key; 
ALTER TABLE my_table ADD CONSTRAINT my_key FOREIGN KEY ('some_id') 
     REFERENCES some_table ('id') ON UPDATE CASCADE ON DELETE CASCADE; 

據我所知,你必須放棄你的鑰匙,並用新規則創建新鑰匙。