我目前正在使用以下代码每小时更新某个字段
mysql_query("UPDATE `admin_wp12`.`wp_usermeta` SET meta_value=meta_value+3 WHERE `wp_usermeta`.`umeta_id` =17;");
但是,我希望它在 meta_value 达到 300 时停止增加。
我真的不知道如何使用 MAX 功能,有什么想法吗?
只需更新meta_value
等于或小于 297 的字段(因为在 297 上,我们将允许再增加一个至 300)。
UPDATE `admin_wp12`.`wp_usermeta`
SET meta_value=meta_value + 3
WHERE `wp_usermeta`.`umeta_id` = 17
AND `wp_usermeta`.`meta_value` <= 297
如果你想允许像 299 这样的值被更新为 300,你可以使用这样的LEAST
函数:
UPDATE `admin_wp12`.`wp_usermeta`
SET
meta_value=LEAST(300, meta_value+3)
WHERE
`wp_usermeta`.`umeta_id` = 17
AND `wp_usermeta`.`meta_value` < 300
在查询末尾添加附加条件
UPDATE admin_wp12.wp_usermeta
SET meta_value = meta_value + 3
WHERE umeta_id = 17
AND meta_value <= 297