ubuntu上的MySql无视外键约束
2013-10-29 23:42
274 查看
在重温数据库的知识时,遇到比较奇怪的事情,在Ubuntu安装的MySql的外键约束似乎是无效的。
首先,我有一张表t_person,其中的数据以及结构如下:
![](http://img.blog.csdn.net/20131029232131328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanBzaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20131029232346671?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanBzaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
其次,我有另外一张表t_debt,其中有一外键fperon指向t_person的主键fname
![](http://img.blog.csdn.net/20131029232715546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanBzaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20131029232750046?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanBzaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
奇怪的是,向t_debt插入数据时,作为外键的fperson竟然可以插入其指向的主键fname中不含有的数据而不报错误!百思不得其解!
于是,在windows上安装mysql并且执行同样的操作:
![](http://img.blog.csdn.net/20131029233904937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanBzaXl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
MySql就提示出错了,外键约束着呢。
于是,这里作出猜测:
1.这是不是bug?
2.是不是我的设置有错误?(set foreign_key_checks = 0 或者 1 结果一样,应该与此无关)
望有相关认识的朋友提点一下!
首先,我有一张表t_person,其中的数据以及结构如下:
其次,我有另外一张表t_debt,其中有一外键fperon指向t_person的主键fname
奇怪的是,向t_debt插入数据时,作为外键的fperson竟然可以插入其指向的主键fname中不含有的数据而不报错误!百思不得其解!
于是,在windows上安装mysql并且执行同样的操作:
MySql就提示出错了,外键约束着呢。
于是,这里作出猜测:
1.这是不是bug?
2.是不是我的设置有错误?(set foreign_key_checks = 0 或者 1 结果一样,应该与此无关)
望有相关认识的朋友提点一下!
相关文章推荐
- mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
- MySQL外键约束详解
- MySQL学习10:外键约束下的更新操作
- 如果你发现mysql的外键约束不管用了
- MySQL学习笔记(9)之外键约束
- Mysql增加外键约束
- MySQL 外键约束的要求解析
- mysql语句或者phpmyadmin操作取消外键约束
- mysql 设置外键约束(foreign key)
- 逻辑数据库设计 - 无视约束(谈外键)
- MySql 外键约束 之CASCADE、SET NULL、RESTRICT、空等类型分析和作用解读
- mysql外键约束的两种方法
- MySQL的外键约束
- mysql-外键约束(创建一个简单的例子)
- MySQL之外键约束
- Mysql外键约束
- MySQL:错误代码1215 无法添加外键约束的解决思路
- 总结三种MySQL外键约束方式
- SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
- SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束