gpt4 book ai didi

mysql - If...ELSE 在 MySQL 中使用子查询

转载 作者:行者123 更新时间:2023-11-29 00:12:30 26 4
gpt4 key购买 nike

在表“聊天”中:

enter image description here

如果消息已被发件人和收件人 删除,我想删除它们。但是,如果用户是第一个删除消息的用户,则应将其记录在“deleted_by”下,并附上他的用户 ID(直到第二个用户也删除该消息)。

对于消息#3 和用户#1,我的查询如下所示:

IF
(SELECT deleted_by from chat WHERE id=3) <> '1' AND (SELECT deleted_by from chat WHERE id=3) <> '0' THEN
DELETE FROM chat WHERE id=3
ELSE
UPDATE chat
SET deleted_by=1
WHERE id=3
END IF

这应该会删除消息 #3,但我却收到错误消息。你能帮我做我的吗SQLfiddle工作?

谢谢!

最佳答案

不需要子查询。相反,如果其他用户已将其标记为已删除,您可以删除该行,如果它仍然存在,则将其标记为已删除:

DELETE FROM chat WHERE id = 3 AND deleted_by <> 0;
UPDATE chat SET deleted_by = 4 WHERE id = 3;

关于mysql - If...ELSE 在 MySQL 中使用子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386001/

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