mysql数据库的共享锁

2025-04-20 08:41:28

1、在mysql中的test数据库中建立一个表shoufei:CREATETABLE`衡痕贤伎shoufei`(`id`int(11)NOTNULL帆歌达缒AUTO_INCREMENT,`shijian`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,`xiangmu`varchar(20)NOTNULL,`jiage`floatNOTNULL,`shuliang`int(11)NOTNULL,`jine`floatDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=11DEFAULTCHARSET=utf8

mysql数据库的共享锁
mysql数据库的共享锁

2、用2个用户登录mysql(abc_1,abc_2),演示对记录的共享锁。

mysql数据库的共享锁
mysql数据库的共享锁

3、abc_1用户对表id为1的记录加共享锁(不让abc_2用户修改):SET autocommit=0;START TRANSACTION;SELECT * FROM shoufei WHERE id=1 LOCK IN SHARE MODE ;

mysql数据库的共享锁

4、abc_2用户对id=1的修改,命令等待……会出现超时:SET autocommit=0;START TRANSACTION;UPDATE shoufei SET jiage=10 WHERE id=1;

mysql数据库的共享锁

5、abc_1用户提交事务,会记录解锁:commit;

mysql数据库的共享锁

6、ab_1用户对记录解锁话,abc_2用户对id=1的记录修改成功。SET autocommit=0;START TRANSACTION;UPDATE shoufei SET jiage=10 WHERE id=1;COMMIT;

mysql数据库的共享锁

7、abc_2查询表中的数据:select * from shoufei;

mysql数据库的共享锁
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢