2012-04-30 33 views
2

外鍵我已經設置了一個外鍵在我的MySQL數據庫:如何改變在phpMyAdmin

ALTER TABLE `gameplayers` ADD CONSTRAINT `FK_GAMENUMBER` FOREIGN KEY (`GameNumber`) REFERENCES `games`(`GameNumber`) ON UPDATE CASCADE ON DELETE CASCADE; 

但是,我不知道我想要的ON UPDATE和ON DELETE了。

所以我進入我的phpAdmin,請單擊結構選項卡的索引部分編輯鉛筆圖標,我得到這個:

警告:(「主」必須是名稱的,只有一個主關鍵!)

只需手動完成更改?即鉛筆圖標將不起作用。

ALSO:外鍵是否對mysql搜索具有相同的速度加成效果,類似於索引?

回答

8

外鍵需要索引,因此有效地,外鍵約束創建和索引,並且它可以用來解析查詢,就像普通索引一樣。

我不確定您使用的是哪個版本的phpMyAdmin,我認爲外鍵的constains在最新版本中是受支持的,但似乎您沒有列出外鍵索引,而且主鍵不是您要查找的內容。但是,您可以使用純SQL修改密鑰:

ALTER TABLE `gameplayers` DROP FOREIGN KEY FK_GAMENUMBER, 
    ADD CONSTRAINT `FK_GAMENUMBER` FOREIGN KEY (`GameNumber`) REFERENCES `games`(`GameNumber`) ON UPDATE NO ACTION ON DELETE NO ACTION;