MySQL锁表心得

本文详细介绍了MySQL中锁表机制的基本原理,包括两种主要锁类型:read锁和write锁,并阐述了它们之间的区别及应用场景。此外,还讲解了如何通过lock tables语句锁定多个表以及如何正确地解锁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章前面写了两次 这是第三次 第一次写到一半的时候 在给关键句子加标颜色时,我的傲游弹出一个内存错误,我知道 白写了 第二次重写 越写越发现自己了解的只是皮毛,原意是写一篇指导性的文章 后来越写越汗颜,写不下去了 这是第三次 写成一个心得吧 权当自己留个备注 不敢在网页上直接写了 还是在word里写好贴过来吧

 

1.       MySQL锁表请求有两种方式: read锁和write 语法 lock tables t read/write两者的共同点是当执行锁表后除当前进程外其他进程都无法访问该表 除非发生下面三种情况之一:1.该进程执行解锁语句unlock tables 2.该进程执行其他锁表请求 3.该进程退出或断开与MySQL数据库连接;两者不同点是执行read锁的锁表进程只可对该表查询不能修改数据,执行write锁的进程可以有增删改查所有权限 可以理解为后者包含前者 事实上也是后者的优先级比前者要高 通常我都是执行write锁的,下面举例也都以write为例

2.       进程执行lock tables t write锁表后,如果需要访问到表t1 ,MySQL会报错ERROR 1100: Table 't1' was not locked with LOCK TABLES 解决办法:进程一次对多表锁定,语法: lock tables t write,t1 write,… 解锁方法见1,unlock tables 只需执行一次即可

 

       待续

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值