MYSQL外键(Foreign Key)的使用(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:40 点击:
9+----+---------+--------------+
 
把大哥删除:
1mysql> delete from dage where id=1;
2ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`bstar/xiaodi`, CONSTRAINT `xiaodi_ibfk_1` FOREIGN KEY (`dage_id`) REFERENCES `dage` (`id`))  www.2cto.com  
提示:不行呀,有约束的,大哥下面还有小弟,可不能扔下我们不管呀!
 
插入一个新的小弟:
 
1mysql> insert into xiaodi(dage_id,name) values(2,'旺角_小弟A');              
2ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`bstar/xiaodi`, CONSTRAINT `xiaodi_ibfk_1` FOREIGN KEY (`dage_id`) REFERENCES `dage` (`id`))
3
 
提示:小子,想造反呀!你还没大哥呢!
 
把外键约束增加事件触发限制:
 
 1mysql> show create table xiaodi;
 2...
 3  CONSTRAINT `xiaodi_ibfk_1` FOREIGN KEY (`dage_id`) REFERENCES `dage` (`id`)
 4...
 5mysql> alter table xiaodi drop foreign key xiaodi_ibfk_1; 
 6Query OK, 1 row affected (0.04 sec)
 7Records: 1  Duplicates: 0  Warnings: 
 8mysql> alter table xiaodi add foreign key(dage_id) references dage(id) on delete cascade on update cascade;
 9Query OK, 1 row affected (0.04 sec)
10Records: 1  Duplicates: 0  Warnings: 0
 
再次试着把大哥删了:
1mysql> delete from dage where id=1;
2Query OK, 1 row affected (0.01 sec)
3  www.2cto.com  
4mysql> select * from dage;
5Empty set (0.01 sec)
6
7mysql> select * from xiaodi;
8Empty set (0.00 sec)
 
得,这回对应的小弟也没了,没办法,谁让你跟我on delete cascade了呢!
 
例子说明的应该蛮清楚了吧,其他功能对应手册自己实践吧!:-)
 
 
 
作者 老狼
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Oracle数据导入MySQL的快捷工具:MySQL Migration Toolkit
  • 简简单单储存过程——循环一个select结果集
  • MySQL Stmt预处理提高效率问题的小研究
  • 用批处理启动MySQL命令行工具
  • MySQL数据库十大优化技巧
  • mysqldump命令——MySQL数据库备份还原
  • Mysql主主复制架构配置
  • mysql-mmm
  • Mysql安装笔记

数据库技术导航

SqlserverMysqlOracleDB2数据库数据库综合
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1