我正在尝试使用phpmyadmin为我的mysql数据库设置外键。但是phpmyadmin只在“关系视图”中显示内部关系。注意我已经确定了以下步骤。
1.设置phpmyadmin数据库(创建_表. sql和配置文件)x1c 0d1x
1.确保数据库中的所有表都使用InnoDb
1.确保我想要的外键/引用Keyes已被索引。
完成所有这些步骤后,我只能在关系视图中看到内部关系。
我错过了什么吗?
我正在尝试使用phpmyadmin为我的mysql数据库设置外键。但是phpmyadmin只在“关系视图”中显示内部关系。注意我已经确定了以下步骤。
1.设置phpmyadmin数据库(创建_表. sql和配置文件)x1c 0d1x
1.确保数据库中的所有表都使用InnoDb
1.确保我想要的外键/引用Keyes已被索引。
完成所有这些步骤后,我只能在关系视图中看到内部关系。
我错过了什么吗?
3条答案
按热度按时间lztngnrs1#
这实际上并不是一个解决方案,但由于我还不能对帖子发表评论,我将添加一些评论,可能会有所帮助。
我也遇到过同样的问题,关键参数似乎如下:
1.不区分大小写的操作系统(在my case windows中)
1.大小写混合的数据表名称(例如“TableName”)
我已经在Linux中成功地使用了混合大小写的表名,但是在Windows中,phpMyAdmin似乎真的出了问题。
我敢打赌您的表名是大小写混合的。请尝试自己创建一个测试表,使用完全小写的名称,并检查是否看到phpMyAdmin的“外键关系”选项。
如果您这样做了,那么我们已经找到了问题的根源,我们只需要找到解决方案或解决方法:)
ps:更多关于大小写敏感性和mysql的信息,没有任何关于phpMyAdmins的提示,可以在这里找到:
http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html
这就是解决方案。将表名'myTable'重命名为'my_table'可以解决此问题。
0s7z1bwu2#
如果您的数据库中的表有不同的存储引擎,情况就是这样。我所知道的唯一支持外键的存储引擎是InnoDB。MyISAM和其他引擎似乎都不起作用。
des4xlb03#
将存储引擎更改为:
innoDB
,然后单击“保存”。