MySQL的元数据锁
有两个会话1,2分别开启两个事务
在1会话执行DML时会加元数据共享锁、此时在2会话不能执行alter 语句。因为alter会加元数据排他锁,这与共享锁互斥
但反过来
在1 会话执行alter 后,在2会话能进行DML,这是为什么?
MySQL的表级锁的元数据锁
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注【相关推荐】
- 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/691971
- 这篇博客也不错, 你可以看下【MySQL--修改表结构alter语句】优秀的人都有段难熬的经历--修改表结构alter语句
- 除此之外, 这篇博客: 【MySQL学习】数据库问题及着重点汇总中的 2.修改表 alter 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
语法:ALTER TABLE 表名 ADD|MODIFY|DROP|CHANGE COLUMN 字段名 【字段类型】; #①修改字段名 ALTER TABLE studentinfo CHANGE COLUMN sex gender CHAR; #②修改表名 ALTER TABLE stuinfo RENAME [TO] studentinfo; #③修改字段类型和列级约束 ALTER TABLE studentinfo MODIFY COLUMN borndate DATE ; #④添加字段 ALTER TABLE studentinfo ADD COLUMN email VARCHAR(20) first; #⑤删除字段 ALTER TABLE studentinfo DROP COLUMN email;
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报