php - MYSQL - 如果第一个字段不为空,则更新第二个字段,如果第二个字段不为空,则更新

标签 php mysql sql

我这里有一个mysql问题。我想做的是创建一个按钮(“添加到愿望 list ”),按下该按钮时,会执行一个 MYSQL 更新查询,在多个字段中输入一个数字(例如 6),但是我想要得到的是它只输入一个不为空的字段。因此,本质上,更新查询将查看第一个字段 (saved_courses) 是否为空,如果是则插入值,如果不是则插入到第二个字段 (saved_courses2)。

我对此进行了研究,根据我的研究结果,我得到了以下结果:

   mysqli_query($con, "UPDATE  user_accounts SET saved_courses3 = case when  saved_courses3 is null then saved_courses3 = $urlid else saved_courses4 = $urlid end WHERE id = 1; ") or die(mysql_error());

最佳答案

尝试这样的事情:

UPDATE  user_accounts SET 
saved_courses4 = case when saved_courses3 is null then saved_courses4 else $urlid end, 
saved_courses3 = case when saved_courses3 is null then $urlid else saved_courses3 end
WHERE id = 1

您可以在以下位置查看它的实际效果:

http://sqlfiddle.com/#!2/c5553/1

关于php - MYSQL - 如果第一个字段不为空,则更新第二个字段,如果第二个字段不为空,则更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24801065/

相关文章:

php - 我可以将二进制数据插入 MySQL TEXT 列吗?

javascript - 使用JQuery获取div中未选中复选框的值

php - jqGrid errorTextFormat 函数

php - 如何在 php 和 mysql 中的特定行周围放置一条虚线

SQL Server 存储过程返回一个表

sql - 在条件内连接语句上返回多个值 (VBA/SQL)

php - Mysql日期错误

mysql - 如何修复缓慢的更新查询

mysql - SQL中如何通过id降序获取三个订单的平均温度?

java - 用于简单 SQL 连接的 HQL 查询