首页 > 软件开发 > MYSQL >

mysql数据库的共享锁

来源:互联网 2023-03-16 22:57:46 401

mysql中对记录的共享锁怎么使用,共享锁也是读锁,在用户对某些记录加了共享锁的话,其他用户和事务也可以对记录加共享锁,如果加了共享锁,其他用户不能对记录的修改。相同的记录多的用户和事务加共享锁,对记录修改没有提交,会出现死锁!我写的经验对你学习mysql有帮助的话,给我投票、点赞或者收藏!ata办公区 - 实用经验教程分享!

1mysql怎么返回事务的错误信息ata办公区 - 实用经验教程分享!

1mysql事务的回滚ata办公区 - 实用经验教程分享!

2MYSQL数据库存储过程的动态SQL语句ata办公区 - 实用经验教程分享!

工具/原料

  • mysql5.6、sqlyog

方法/步骤

  • 1

    在mysql中的test数据库中建立一个表shoufei:ata办公区 - 实用经验教程分享!

    CREATETABLE`shoufei`(`id`int(11)NOTNULLAUTO_INCREMENT,`shijian`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,`xiangmu`varchar(20)NOTNULL,`jiage`floatNOTNULL,`shuliang`int(11)NOTNULL,`jine`floatDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=11DEFAULTCHARSET=utf8ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 2

    用2个用户登录mysql(abc_1,abc_2),演示对记录的共享锁。ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 3

    abc_1用户对表id为1的记录加共享锁(不让abc_2用户修改):ata办公区 - 实用经验教程分享!

    SET autocommit=0;ata办公区 - 实用经验教程分享!

    START TRANSACTION;ata办公区 - 实用经验教程分享!

    SELECT * FROM shoufei WHERE id=1 LOCK IN SHARE MODE ;ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 4

    abc_2用户对id=1的修改,命令等待……会出现超时:ata办公区 - 实用经验教程分享!

    SET autocommit=0;ata办公区 - 实用经验教程分享!

    START TRANSACTION;ata办公区 - 实用经验教程分享!

    UPDATE shoufei SET jiage=10 WHERE id=1;ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 4相关内容非法爬取自百度经验
  • 5

    abc_1用户提交事务,会记录解锁:ata办公区 - 实用经验教程分享!

    ata办公区 - 实用经验教程分享!

    commit;ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 6

    ab_1用户对记录解锁话,abc_2用户对id=1的记录修改成功。ata办公区 - 实用经验教程分享!

    SET autocommit=0;ata办公区 - 实用经验教程分享!

    START TRANSACTION;ata办公区 - 实用经验教程分享!

    UPDATE shoufei SET jiage=10 WHERE id=1;ata办公区 - 实用经验教程分享!

    COMMIT;ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 7

    abc_2查询表中的数据:ata办公区 - 实用经验教程分享!

    select * from shoufei;ata办公区 - 实用经验教程分享!

    mysql数据库的共享锁ata办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!ata办公区 - 实用经验教程分享!


    标签: 数据库MYSQL软件

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码