MySql如何利用外键实现级联删除?
在程序开发过程中,数据库是少不了的,应为mysql数据库开源、免费、功能强大,能够满足中小型数据存储的需要,所以现在非常流行。在开发项目的过程中,我们经常会设计到多表的删除,如果在程序中实现逻辑删除,不仅会增加代码量,还容易造成关联数据的遗漏,下面我们介绍一下如何实现数据库。
操作方法
- 01
新建测试表student、book,其中student表中的字段有:id、user_name、add_time;book表中的字段有:id、book_name、user_id、add_time
- 02
在表student中添加测试数据,脚本如下: insert into `student`(`id`,`user_name`,`add_time`) values (1,'孙悟空','2016-03-08 14:01:13'),(2,'猪八戒','2016-03-08 14:01:22'),(3,'菩提老祖','2016-03-08 14:01:26'),(4,'唐三藏','2016-03-08 14:01:34'),(5,'观世音菩萨','2016-03-08 14:01:41'),(7,'太白金星','2016-03-08 14:01:56');
- 03
在表book中添加测试数据,脚本如下: insert into `book`(`id`,`book_name`,`user_id`,`add_time`) values (1,'《白岩松:白说》',1,'2016-03-08 14:06:09'),(2,'《三毛:撒哈拉的故事》',2,'2016-03-08 14:06:05'),(3,'《文化苦旅》',2,'2016-03-08 14:06:07'),(4,'《恰到好处的幸福》',5,'2016-03-08 14:05:47') ……
- 04
删除student中的一条数据,sql语句为:delete from student where id=6,然后查看student中的数据记录,select * from student
- 05
查看book表中的数据,是否已经被删除:select * from book,发现user_id等于6的记录已经被删除。