MySql 根据其他字段值更新字段值

标签 mysql sql-update

我正在尝试创建一个查询来执行以下操作:

这是我的表格:

ID     total     paid     own       status
------------------------------------------------
1      100.00    100.00   100.00    0

这是查询:

$total = 50;
UPDATE cart table SET paid = $total, status = CASE WHEN $total >= own THEN 1 ELSE 2 END;

想法是,如果字段“total”的总金额等于或大于字段“own”中的金额,则将字段“status”更新为 1,否则更新为 2。

我不确定是否可以仅使用一个查询来完成此操作,或者我需要更新购物车表、提取结果、执行计算,然后再次更新。

最佳答案

试试这个:

UPDATE cart table SET paid = $total, status = If($total >= own, 1, 2)
Where ID = 1;

关于MySql 根据其他字段值更新字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35046026/

相关文章:

c# - 在 ASP.net C# 中不使用 GridView 输出数据集的最简单方法是什么

java - 在 Java 中使用 Hibernate 更新实体列表

mysql - #1093 - 您无法在 FROM 子句中指定用于更新的目标表 'new_keyword'

php - 从多个表中选择并显示到表中

php - 为什么我不写入我的数据库

php - 将 42MB .sql 文件导入 WAMP

mysql - 如何根据同一张表中的另一行进行更新?

Java & SQL : ExecuteUpdate()/UPDATE not updating a record correctly

c# - "executenonquery connection property has not been initialized"

java - 如何从MYSQL数据库中获取数据并显示在应用程序中?