MySQLでサブクエリ結果を満たすデータを削除する操作について
816 ワード
重要な質問:MySQLでは、サブクエリで削除するテーブルを使用できません.
エラーの例:
正しい処理:
参照先:https://www.cnblogs.com/wing7319/p/10458765.html
エラーの例:
DELETE
FROM
post_activity_user
WHERE
id IN (
SELECT
a.id
FROM
post_activity_user a
LEFT JOIN post_activity_info b ON a.activity_id = b.id
WHERE
b.enterprise_id = 10000000
AND b.activity_type = 3
)
正しい処理:
DELETE
FROM
post_activity_user
WHERE
post_activity_user.id IN (
SELECT
*
FROM
(
SELECT
a.id
FROM
post_activity_user a
LEFT JOIN post_activity_info b ON a.activity_id = b.id
WHERE
b.enterprise_id = 10000000
AND b.activity_type = 3
) ee
)
DELETE tb_a from table_a as tb_a INNER JOIN (SELECT * from table_a where name like ‘123%’) as tb_b on tb_b.id = tb_a.id;
参照先:https://www.cnblogs.com/wing7319/p/10458765.html