我已经使用 NaviCat(一个 MySQL 应用程序)创建了一个外键,但是在我创建它的那一刻,它就从外键列表中消失了,并且添加了一个新的索引。这是否意味着出现问题或发生这种情况是正常的?
我试过使用 information_schema How to check if a column is already a foreign key?但这导致了 Information_schema 中的未知表 'REFERENTIAL_CONSTRAINTS'
。有没有可能查询是针对 MsSQL 而与 MySQL 不同的?
最佳答案
您可能正在创建外键的表是 MyISAM。转到表设计 View 并转到选项选项卡将表引擎更改为 InnoDB
您可以按照 http://kevin.vanzonneveld.net/techblog/article/convert_all_tables_to_innodb_in_one_go/ 中的步骤将所有表更改为 InnoDB。
在 http://dev.mysql.com/doc/refman/5.5/en/innodb-default-se.html 的 MySQL 配置文件(通常是 my.cnf)的 [mysqld] 部分添加 default-storage-engine=innodb
毕竟MySQL 5.5 InnoDB是默认的存储引擎,没有任何缺陷。
关于mysql - 如何检查是否创建了外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564387/