0

我目前正在使用以下代码每小时更新某​​个字段

mysql_query("UPDATE  `admin_wp12`.`wp_usermeta` SET  meta_value=meta_value+3 WHERE `wp_usermeta`.`umeta_id` =17;");

但是,我希望它在 meta_value 达到 300 时停止增加。

我真的不知道如何使用 MAX 功能,有什么想法吗?

4

3 回答 3

2

只需更新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
于 2013-10-17T14:35:58.427 回答
2

如果你想允许像 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
于 2013-10-17T14:39:17.357 回答
0

在查询末尾添加附加条件

UPDATE admin_wp12.wp_usermeta 
SET  meta_value = meta_value + 3 
WHERE umeta_id = 17
AND meta_value <= 297
于 2013-10-17T14:35:41.060 回答