如何在phpMyAdmin中更改外键

时间:2012-04-30 20:50:32

标签: mysql foreign-keys

我在mysql数据库中设置了一个外键:

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

但是,我不确定我是否想要ON UPDATE和ON DELETE。

所以我进入我的phpAdmin,点击Structure选项卡的Index部分中的编辑铅笔图标,我得到了这个:

警告:(“PRIMARY”必须是主键的名称!)

是否必须手动完成更改?即铅笔图标不起作用。

另外:外键对mysql搜索具有相同的速度加成效果,类似于索引?

1 个答案:

答案 0 :(得分:8)

外键需要索引,所以有效地,外键约束创建和索引,它可以像普通索引一样用于解析查询。

我不确定您使用的是哪个版本的phpMyAdmin,我认为最新版本支持外键密码,但似乎您没有列出外键索引,并且主键不是您要查找的内容。但是,您可以使用纯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;