数据库外键不能建立的原因及解决方法

最近在使用MySql的时候,给一张表添加外键,但是点击保存之后,外键会消失不见了。原因可能是以下两种:

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

SET FOREIGN_KEY_CHECKS=0;

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

SET FOREIGN_KEY_CHECKS=1;

如果修改后导入运行还是不能建立外键,那么可能是第二种原因。

第二是查看表的类型如果表的类型是否为MyISAM,因为MyISAM不支持事物管理,其与InnoDB基本的差别为:

  • MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
  • MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持
  • InnoDB提供事务支持以及外部键等高级数据库功能。

 

你可能感兴趣的:(数据库外键不能建立的原因及解决方法)