Mysql 条件更新查询

Mysql 条件更新查询,mysql,sql,Mysql,Sql,我有以下疑问 UPDATE users_ SET equity=equity-100 WHERE account_id=1 只有当用户有足够的资金,即权益>=100时,才必须进行更新。 如何做到这一点?使用where子句: UPDATE users_ SET equity = equity - 100 WHERE account_id = 1 AND equity >= 100; 为了获得额外的保护,MySQL最终支持check约束。因此,在最新版本中,您可以执行以下操

我有以下疑问

UPDATE users_ SET equity=equity-100 WHERE account_id=1
只有当用户有足够的资金,即权益>=100时,才必须进行更新。
如何做到这一点?

使用
where
子句:

UPDATE users_
    SET equity = equity - 100
    WHERE account_id = 1 AND equity >= 100;
为了获得额外的保护,MySQL最终支持
check
约束。因此,在最新版本中,您可以执行以下操作:

alter table users_ add constraints chk_users_equity
    check (equity >= 0);
这将不允许出现负值。实际上,如果
equity
是一个整数,那么可以将其声明为无符号,并具有相同的效果