简体   繁体   English

设置MYSQL字段的最大值

[英]Set a max value for MYSQL field

I'm currently using the following code to update a certain field every hour 我目前正在使用以下代码每小时更新一次特定字段

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

However, I want it to stop increasing when the meta_value reaches 300. 但是,我希望它在meta_value达到300时停止增加。

I really don't get the use of the MAX function, any ideas? 我真的没有使用MAX函数,有什么想法吗?

Just update fields with meta_value equal or lower than 297 (because on 297 we will allow one more increase to 300). 只需更新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

If you want to allow a value like 299 to be updated as 300, you could use the LEAST function like this: 如果要允许将诸如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

Add an additional condition to the end of your query 在查询末尾添加其他条件

UPDATE admin_wp12.wp_usermeta 
SET  meta_value = meta_value + 3 
WHERE umeta_id = 17
AND meta_value <= 297

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM