mysql delete in刪除數據

【前言】

           如果多張表連查出來符合條件的單表的id後,但是通過delete in無法刪除?這時我們該如何處理?

【實踐】

CREATE TABLE tmp AS SELECT
e.role_id 
FROM
	(
	SELECT a.role_id FROM sys_user_role a WHERE a.user_id NOT IN (SELECT b.user_id FROM sys_user b )
	
	) e; --首先把查詢出來的id創建一個臨時表

DELETE FROM sys_role WHERE role_id IN (SELECT role_id FROM tmp); --通過臨時表獲取id值
DROP TABLE tmp;--刪除臨時表

【結論】

   知道思路後,以後可以清洗線上數據。。。

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