表里面status 1是指待抢购,2代表已抢购
BEGIN;开启事物
COMMIT;提交事物
for UPDATE 行锁,锁定这一列,在事物未提交前不得对这一行数据进行crud的操作
BEGIN;
SELECT * from t_goods where id = 1 for UPDATE;
UPDATE t_goods SET `status` = 2 where id = 1;
COMMIT;
image.png
如图,我们只执行选中的sql,不去提交事务,对数据库进行写的操作会出现下图
image.png
网友评论