mysql 多表關聯刪除

2021-07-13 12:18:42 字數 829 閱讀 4582

兩張表關聯刪除:

delete a,b from table1 a

inner

join table2 b

on a.id = b.aid

where a.id = '1'

//或者也可以

delete a,b from table1 a,table2 b

where a.id = b.aid

and a.id = '1'

三張表刪除

delete a,b,c from table1 a 

inner

join table2 b

on a.id = b.aid

inner

join table3 c

on a.id = c.aid

where a.id = '1'

不過這樣有乙個問題,就是如果a表裡資料,而b表或者c表裡沒資料,那麼整個刪除就失敗,即刪除0條資料

如果你的主表一定有資料,而關聯的表有可能有資料也有可能沒資料的話,我們可以通過左連線刪除的方式,把兩張表都刪除。無論關聯的表有沒有資料,主表都可以刪除成功

delete a.* ,b.* ,c.*

from table1 a

left

join table2 b

on a.id = b.aid

left

join table3 c

on a.id = c.aid

where a.id = 1

mysql 多表關聯刪除

sql檔案 set foreign key checks 0 table structure for stu tea drop table ifexists stu tea create table stu tea stu id int 11 not null,tea id int 11 not n...

Mysql 多表關聯修改與刪除

資料庫表設計過程中,會把關鍵的字段 一列或多列 提取出來,建立多個維度的資訊表,供業務功能使用。假如我們在需要在a維度表中的滿足非關鍵字段部分條件欄位的記錄,需要在b維度表中修改列值,我們就會使用到多表關聯update。使用方式 update tablea a 直接left join 關聯表 還有表...

mysql 資料庫 多表關聯刪除

1 從資料表t1中把那些id值在資料表t2裡有匹配的記錄全刪除掉 delete t1 from t1,t2 where t1.id t2.id 或delete from t1 using t1,t2 where t1.id t2.id 2 從兩個表中找出相同記錄的資料並把兩個表中的資料都刪除掉 de...