gpt4 book ai didi

MySQL : NOT EXISTS/NOT IN 的替代查询

转载 作者:行者123 更新时间:2023-11-29 14:05:58 27 4
gpt4 key购买 nike

我在数据库中使用 NOT IN/NOT EXISTS 执行 DELETE 或 UPDATE 查询时遇到问题。我有 2 个表 USERSREMARK

提示:Users 表记录 = 9880 AND Remark 表记录 = 38943

我想删除 REMARK 表中 users 表中不存在 profile_id 的所有数据。

为了执行该操作,我使用了以下查询:

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 WHERE profile_id NOT IN
(SELECT profile_id FROM users);

关于MySQL : NOT EXISTS/NOT IN 的替代查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14345640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com