栏目导航
热点推荐
- mysql排序的妙用(类似置顶)
- 优化MySQL的数据库性能的八种方
- MySQL配置文件my.cnf中文版
- linux下mysql命令
- 如何用MySQL-Front远程连接MySql
- 如何修改MySQL 5.1 data文件夹路
- Linux mysql安装修改root密码服
- MySQL Server 5.0安装教程(图解)
- PHP中的MYSQL常用函数
- mysql常见错误提示及解决方法
- MySQL常见错误问答!
- 使用MySQL时的一些常见错误
阅览排行
MYSQL--自身字段约束级联删除
www.jz123.cn 2010-10-31 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
# 建表
CREATE TABLE `T_TEST` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`PID` int(11) DEFAULT NULL,
`NAME` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`),
KEY `index_1` (`PID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 加约束,自身字段约束
alter table T_TEST ADD CONSTRAINT `T` FOREIGN KEY (`PID`) REFERENCES `T_TEST` (`Id`) ON DELETE CASCADE;
CREATE TABLE `T_TEST` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`PID` int(11) DEFAULT NULL,
`NAME` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`),
KEY `index_1` (`PID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 加约束,自身字段约束
alter table T_TEST ADD CONSTRAINT `T` FOREIGN KEY (`PID`) REFERENCES `T_TEST` (`Id`) ON DELETE CASCADE;
# 添加测试记录
insert into T_TEST values(1,1,'1'),(2,1,'2'),(3,1,'3'),(4,2,'4'),(5,2,'5'),(6,4,'6');
select * from t_test;
insert into T_TEST values(1,1,'1'),(2,1,'2'),(3,1,'3'),(4,2,'4'),(5,2,'5'),(6,4,'6');
select * from t_test;
# 测试级联删除
delete from t_test where id=4;
delete from t_test where id=4;
级联删除,只要删除了父亲节点,此父亲节点派生出来的所有节点都被删除。不管下面是否又有分支
0
上一篇:MySQL性能诊断与调优 下一篇:.net 连接MySql