gpt4 book ai didi

php - MySQL 和 PHP if/else

转载 作者:行者123 更新时间:2023-11-30 23:18:24 24 4
gpt4 key购买 nike

我很难理解 MySQL 中的 if/else。我有一个简单的消息数据库,我想在其中删除消息(行),但前提是两个用户都删除了它。

所以数据库看起来像这样:

----|---------|-------------|------------
mid | message | user1delete | user2delete
----|---------|-------------|------------
1 | hi! | no | yes
----|---------|-------------|------------

所以我想看看“mid” 1,如果其他用户已经删除(隐藏)了消息,则删除该行。否则,只需在正确的用户处更新"is"。是否可以在一个 MySQL 查询中执行此操作,或者我必须对多个查询使用 PHP if/else 语句?

看似谎言的东西:

SELECT * FROM MESSAGES
IF user1delete = NULL or "no"
THEN UPDATE user2delete = "yes"
ELSE IF user1delete = "yes" AND user2delete = "yes"
THEN DELETE where mid = 1

谢谢! (我希望我的问题很清楚...)

编辑:我的意思是“更新”是...

最佳答案

不可能在单个查询中删除一行或更新同一行。如果您非常想在一次数据库调用中执行此操作,则可以编写一个存储过程。但请记住,即使您使用从 PHP 对 SP 的单个数据库调用来执行此操作,您仍然在运行多个查询。

最佳解决方案:从字面上删除数据绝非好事。为已删除的消息创建另一列,如果两个用户都将其删除,则将其标记为已删除。这将允许您保留历史数据 + 您可以在一个更新语句中进行查询。

关于php - MySQL 和 PHP if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16566965/

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