用表达式更新要点
- SET 列 = 列 ± 常数:stock = stock - 1 实现扣减
- 乘除也行:price = price * 0.9 一键打九折
- 表达式对同一列多次运算,按行独立计算互不干扰
- 字符串也能拼接:note = CONCAT(note, '已发货')
- 表达式里引用的列取该行更新前的值
- 配合 WHERE 可只给满足条件的行做加成
用表达式更新示例
UPDATE product SET stock = stock - 1, sold = sold + 1
WHERE sku = 'P100';
UPDATE user SET score = score + 10 WHERE level = 'vip';
避坑提醒:并发扣库存别用『先查后减』,直接在 SET 里 stock = stock - 1,让数据库自己保证原子性,避免超卖。