mysql 關聯刪除,一條sql幫你搞定多表數據刪除

一條sql搞定多個表刪除存在的數據,注意記得帶條件哦,不然你將面臨刪庫跑路的結果

本人之前在寫sql的時候總是一張一張表的刪,同樣也是一條sql一條sql的寫,而且還得再service層加上事務,當然一條sql一條sql的寫是更加清楚,但是寫起來也特別麻煩,所以今天分享一下一條sql解決刪除多張表數據的sql,希望對你有幫助。


//  若沒配置別名還使用別名將會報Unknown table 'dictionaries_check' in MULTI DELETE 錯 或 Not unique table/alias
// 該條sql 是關聯刪除表中存在的數據
	delete a,b,c,d,e,f,g,h,i,j,k,l    //  這裏是配置別名,以供下面關聯使用別名,注如果這裏不配值別名,下面關聯將不能使用別名
	FROM building_management a 
		LEFT JOIN component_check b on a.structure_num = b.structure_num
		LEFT JOIN component_check_info c on b.id = c.component_check_id
		LEFT JOIN	quality_inspect d on a.structure_num = d.structure_num
		LEFT JOIN quality_inspect_info e on d.id = e.quality_inspect_id
		LEFT JOIN deviation_actual f on b.id = f.component_check_id
		LEFT JOIN deviation_actual_info g on f.id = g.deviation_actual_id
		LEFT JOIN dictionaries_check h on a.id = h.target_id
		LEFT JOIN dictionaries_check i on d.id = i.target_id
		LEFT JOIN accessory_target j on a.id = j.target_id
		LEFT JOIN accessory_target k on b.id = k.target_id 
		LEFT JOIN accessory_target l on d.id = l.target_id
	where a.id = 23

刪除結果
在這裏插入圖片描述
若有疑問請留言!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章