美文网首页
数据库的悲观锁

数据库的悲观锁

作者: 哈哈11122 | 来源:发表于2022-04-11 15:10 被阅读0次

    悲观锁

    悲观锁:修改之前先对数据库里的数据进行锁定,然后修改,修改后释放锁。在锁定中,其他人无法修改数据。

    数据库里的悲观锁

    表名:SWHS_PROJECT_MEETING

    字段 是否唯一 备注
    MEETING_ID 主键
    VERSION_CODE

    1.行锁

    1. 通过for update语句加锁
      select meeting_id, meeting_status from swhs_project_meeting where meeting_id=181 for update;
    2. 此时meeting_id=181的数据被加了行锁。
      故:
      update swhs_project_meeting set meeting_status=1 where meeting_id=181会进入等待,直到步骤1的for update语句提交。
      更新、删除其他数据和插入数据不受影响。例如:
      update swhs_project_meeting set meeting_status=1 where meeting_id=208 ;
      insert into swhs_project_meeting(meeting_id, meeting_status) values(201, 0);

    2.表锁

    1. 通过for update语句加锁。meeting_status字段没有唯一性约束。
      select meeting_id, meeting_status from swhs_project_meeting where meeting_status =1 for update
    2. 此时是表锁,不可执行插入、更新和删除。

    相关文章

      网友评论

          本文标题:数据库的悲观锁

          本文链接:https://www.haomeiwen.com/subject/xliisrtx.html