关于MySQL中删除知足子查询结果数据的操做

关于MySQL中删除知足子查询结果数据的操做

关键问题:MySQL不容许在子查询中使用要删除的表mysql

错误示范:

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
    )
相关文章
相关标签/搜索