停止mysql MEDIUMINT在减法运算中最大化到16777214

停止mysql MEDIUMINT在减法运算中最大化到16777214,mysql,sql,sql-update,Mysql,Sql,Sql Update,我有以下问题: UPDATE users SET posts = posts - 1 WHERE user_id = 5214 但是,我认为当posts=0时,此查询将posts设置为16777214。如果我尝试-1,如何使其保持@0(未签名)?只需添加条件,筛选所有大于零的记录 UPDATE users SET posts = posts - 1 WHERE user_id = 5214 AND posts > 0 只需添加条件,即可过滤所有大于零的记录

我有以下问题:

UPDATE users SET posts = posts - 1 WHERE user_id = 5214

但是,我认为当
posts=0
时,此查询将posts设置为
16777214
。如果我尝试
-1
,如何使其保持@0(未签名)?

只需添加条件,筛选所有大于零的记录

UPDATE users 
SET    posts = posts - 1 
WHERE  user_id = 5214 AND 
       posts > 0

只需添加条件,即可过滤所有大于零的记录

UPDATE users 
SET    posts = posts - 1 
WHERE  user_id = 5214 AND 
       posts > 0