2

我有一个包含三列的表 - id、name 和 num。如果 num 大于 0 并在同一个 sql 语句中减少 num,我想根据名称选择 id - 我该怎么做?我需要以某种方式确保这两条语句:

select id from table where name='someValue' ; update table set num=num-1; 

将作为原子动作执行。我怎样才能做到这一点?

4

1 回答 1

1
update table set num=num-1 where name='somevalue' and num>0

如果 num 大于 0 并且 name 等于 'somevalue',此查询将 num 减 1

于 2012-11-17T18:53:01.970 回答