【前言】
如果多張表連查出來符合條件的單表的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;--刪除臨時表
【結論】
知道思路後,以後可以清洗線上數據。。。