三张表
article ,tag,article_tag
article 文章表
create table article( article_id int primary key auto_increment, article_title varchar(100) ); insert into article(article_title) values ('Spring源码分析'), ('Spring生命周期'), ('SpringMVC源码分析'), ('MySQL....');
tag 标签表
create table tag( tag_id int primary key auto_increment, tag_name varchar(100) ); insert into tag(tag_name) values ('Spring'), ('SpringMVC'), ('Java'), ('MySQL');
article_tag 文章与标签的中间表
create table article_tag( article_tag_id int primary key auto_increment, article_id int, tag_id int ); insert into article_tag(tag_id,article_id) values (1,1), (1,2), (2,2), (3,1), (3,2), (3,3), (4,4);
关联查询的数据
删除 文章id 为 2 的相关数据
# 删除 文章id 为 2 的相关数据 DELETE article_tag, article FROM article_tag INNER JOIN article ON article_tag.article_id = article.article_id WHERE article.article_id = 2;
执行的结果,再查询
从这里可以看得出,成功删除了 4 条数据,4 条数据 = article 表中id为2的数据(只有一条) + article_tag 表中 与 article_id = 2 的 3 条数据。