如何在phpMyAdmin中更改外键

Rew*_*ind 2 mysql foreign-keys

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

ALTER TABLE `gameplayers` ADD CONSTRAINT `FK_GAMENUMBER` FOREIGN KEY (`GameNumber`) REFERENCES `games`(`GameNumber`) ON UPDATE CASCADE ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)

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

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

警告:("PRIMARY"必须是主键的名称,而且只能是主键的名称!)

是否必须手动完成更改?即铅笔图标将无法正常工作.

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

Max*_*sky 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;
Run Code Online (Sandbox Code Playgroud)