我有以下查询:
select u.*
from users u
left join customers_cards cc
on cc.user_id = u.id
where u.belongs_to = "ezpay"
and cc.id is null
它返回尚未添加任何卡的用户。我需要删除这些用户(从users
)表。下面是我的delete
查询:
delete from users
where id in ( select u.id
from users u
left join customers_cards cc
on cc.user_id = u.id
where u.belongs_to = "ezpay"
and cc.id is null )
但它会抛出以下错误:
1093 -无法在FROM子句中指定更新的目标表'users'
我该怎么解决?
2条答案
按热度按时间q5iwbnjs1#
不需要使用
IN
运算符,因为SELECT语句可以转换为DELETE语句:k4emjkb12#
您可以选择使用取反的
EXISTS
运算符。