1、假定表结构如下CREATE TABLE `t_store` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` var艘早祓胂char(255) DEFAULT NULL COMMENT '商品', `num` int(11) DEFAULT NULL COMMENT '库存', PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
2、插入一条记录以便于测试INSERT INTO `t_store`(`name`, `num`) VALUES ( '测试商品', 1);
3、现在要对库存字段做扣减操作,使用sql语句update t_store set num =if((num-1)>0,(num-1),0) where id=1可以多次执行该sql语句观察结果,库存被扣减为0后,不会再被减为负数了