MYSQl悲观锁

注:

要使用悲观锁,我们必须关闭mysql数据库的自动提交属性,因为MySQL默认使用autocommit模式,也就是说,当你执行一个更新操作后,MySQL会立刻将结果进行提交。

我们可以使用命令设置MySQL为非autocommit模式:
set autocommit=0;

打开两个窗口

第一个窗口执行下面的操作

//0.开始事务
begin;/begin work;/start transaction; (三者选一就可以)

//1.查询出商品信息
select * from info for update;

//2.提交事务
//commit;/commit work;

第二个窗口执行下面的操作

//2.根据商品信息生成订单
insert into info(id) values (1);

这个时候第二个窗口会处于等待的状态

只有第一个窗口的commit操作执行之后,第二个窗口才能插入

参考文章

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