MySQL替代查询:不存在/不在
我在使用数据库中的NOT IN/NOT EXISTS执行删除或更新查询时遇到问题。我有2个表用户和备注 提示:用户表记录=9880,备注表记录=38943 我想从备注表中删除用户表中不存在profile_id的所有数据 要执行我使用此查询的操作,请执行以下操作:MySQL替代查询:不存在/不在,mysql,mysqldump,Mysql,Mysqldump,我在使用数据库中的NOT IN/NOT EXISTS执行删除或更新查询时遇到问题。我有2个表用户和备注 提示:用户表记录=9880,备注表记录=38943 我想从备注表中删除用户表中不存在profile_id的所有数据 要执行我使用此查询的操作,请执行以下操作: UPDATE remark SET status = '0' WHERE profile_id NOT IN (SELECT * FROM users); Or DELETE from remark WHERE profile_
UPDATE remark
SET status = '0'
WHERE profile_id NOT IN (SELECT * FROM users);
Or
DELETE from remark
WHERE profile_id NOT EXISTS (SELECT * FROM users);
Or
DELETE FROM remark
WHERE NOT EXISTS (
select * from users
where users.profile_id = remark. profile_id);
结果=2013-查询期间与MySQL服务器的连接中断
请帮帮我。你快到了
UPDATE remark SET status = '0' WHERE profile_id NOT IN
(SELECT * FROM users);
很可能是,
UPDATE remark SET status = '0' WHERE profile_id NOT IN
(SELECT profile_id FROM users);
由于*将从用户中选择所有字段,因此无法将它们与profile_id进行比较,只需选择要比较的字段即可
当然,您可以使用相同的WHERE子句进行删除
请注意,以下内容不起作用或任何其他相近的变化:
DELETE FROM REMARK r
WHERE NOT EXISTS (
SELECT *
FROM USERS
WHERE profile_id=r.profile_id
)
由于引用。信用证:如果你认为是正确的,请考虑接受这个答案。否则,最好给答案的作者一个反馈,让他改进答案,从而帮助你!
DELETE FROM REMARK
WHERE NOT EXISTS (
SELECT *
FROM USERS
WHERE profile_id=REMARK.profile_id
)
DELETE FROM REMARK r
WHERE NOT EXISTS (
SELECT *
FROM USERS
WHERE profile_id=r.profile_id
)