gpt4 book ai didi

MySQL 语句 UPDATE IF 等于或大于 else 什么都不做

转载 作者:行者123 更新时间:2023-11-29 04:24:33 25 4
gpt4 key购买 nike

我有以下 MySQL 语句:

$stmt = $conn->prepare('UPDATE `equipment` SET `currentHours`= :unitHours, `lastUpdate`= :lastUpdate WHERE `equipType`= :equipType AND `unitNumber`= :unitNumber'); 

$stmt ->execute(array(':lastUpdate'=> $dateToday, ':unitHours' => $unitHours, ':equipType'=> $equipType, ':unitNumber'=> $unitNumber));

如果值等于或大于当前存储在该行中的值,我只需要更新 currentHours。这可以用 MySQL 语句实现还是必须用 PHP 实现?我是编程新手,如果这听起来像是一个简单的问题,请提前致歉。

最佳答案

UPDATE `equipment` SET `currentHours`= :unitHours, `lastUpdate`= :lastUpdate

WHERE `equipType`= :equipType AND `unitNumber`= :unitNumber

AND
currentHours<:unitHours

以上更新当前小时数低于输入的记录,它不会更新所有符合其余条件的最后更新字段。
如果你想更新 field currenthours only 当它低于输入时,但无论如何更新 lastupdate 字段,那么:

UPDATE `equipment` 
SET `currentHours`= IF(currentHours<:unitHours,:unitHours,currentHours),
`lastUpdate`= :lastUpdate

WHERE `equipType`= :equipType AND `unitNumber`= :unitNumber

关于MySQL 语句 UPDATE IF 等于或大于 else 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14553438/

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