MySQL5.5在学习外键时第一个要关注的点就是我们数据库的数据引擎,要知道
MyISAMwas the default storage engine for the MySQL ralational database management system versions prior to 5.5.
但是MyISAM不支持外键!所以我们要将MyISAM数据引擎改为InnoDB引擎。
如果不更改数据库引擎,即使在两张表格间已经创建外键,在插入数据违反外键约束的时候,数据仍能够正常插入。
检查数据库引擎的时候(show engines),发现数据库默认引擎为MyISAM,同时InnoDB的Support项目为invalid,那就需要我们更改我们的引擎配置,但是在查询更改方式过程中发现很多解决方案并没有效果,我这里就简单写一下。
好多说明中都说是在[mysqld]后面添加default-storage-engine=INNODB,这个方案在测试的时候没有效果,而且导致数据库启动问题,多次检查以后找到的解决方法为:
右键我的电脑,找到管理,关闭mysql服务,找到MySQL下的my.ini中的[mysqld]目录下的被注释的default-storage-engine=INNODB打开,然后找到skip-innodb,讲这个内容注释掉,保存以后就可以重启mysql服务了。
问题在于,之前创建的数据库仍然不支持外键,要注意更改数据库及表格的引擎。