数据库外键不能创建的缘由及解决方法

最近在使用MySql的时候,给一张表添加外键,可是点击保存以后,外键会消失不见了。缘由多是如下两种:数据库

第一将数据库中的表转储为SQL文件,而后,查看是否有如下语句:性能

SET FOREIGN_KEY_CHECKS=0;事务

这会让表的外键失效,便于修改外键参考的字段,解决方案是将其设置为1,即数据

SET FOREIGN_KEY_CHECKS=1;文件

若是修改后导入运行仍是不能创建外键,那么多是第二种缘由。解决方案

第二是查看表的类型若是表的类型是否为MyISAM,由于MyISAM不支持事物管理,其与InnoDB基本的差异为:事务处理

  • MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
  • MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,可是不提供事务支持
  • InnoDB提供事务支持以及外部键等高级数据库功能。
相关文章
相关标签/搜索