我已经在我的 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,单击“结构”选项卡的“索引”部分中的编辑铅笔图标,然后我得到:
警告:(“PRIMARY”必须是主键的名称,而且只能是主键的名称!)
修改是否必须手动完成?即铅笔图标将不起作用。
另外:外键是否对 mysql 搜索有同样的速度加成效果,类似于索引?
最佳答案
外键需要索引,因此有效地,外键约束创建和索引,它可以像普通索引一样用于解析查询。
我不确定您使用的是哪个版本的 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;
关于mysql - 如何更改 phpMyAdmin 中的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390397/