三張表
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 條數據。