sql悲观锁

sql悲观锁_第1张图片
goods表

表里面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;
sql悲观锁_第2张图片
image.png

如图,我们只执行选中的sql,不去提交事务,对数据库进行写的操作会出现下图


sql悲观锁_第3张图片
image.png

你可能感兴趣的:(sql悲观锁)