12
返回列表 发新帖
楼主: 小二货_

[转载] 如何看mysql的表被什么锁锁了呢?

[复制链接]
论坛徽章:
3
优秀写手
日期:2014-06-11 06:00:32暖羊羊
日期:2015-03-04 14:54:572015年新春福章
日期:2015-03-06 11:59:47
11#
 楼主| 发表于 2015-1-21 17:37 | 只看该作者
coredumped 发表于 2015-1-20 16:08
不设置commit 那个参数 就是自动提交了 锁就释放了。你把你操作过程要不发出来看看。

我的意思是,set autocommit=0 ,即使不加上for update,也是有锁表的功能

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2015-1-21 18:15 | 只看该作者
小二货_ 发表于 2015-1-21 17:37
我的意思是,set autocommit=0 ,即使不加上for update,也是有锁表的功能

session 1
mysql> set autocommit = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> show create table test1\G
*************************** 1. row ***************************
       Table: test1
Create Table: CREATE TABLE `test1` (
  `id` int(10) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

mysql> update test1 set id =30;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 12  Changed: 0  Warnings: 0

session 2
mysql>  update test1 set id =30;


mysql> select * from information_schema.innodb_locks\G
*************************** 1. row ***************************
    lock_id: 9658866:192:3:2
lock_trx_id: 9658866
  lock_mode: X
  lock_type: RECORD
lock_table: `test`.`test1`
lock_index: GEN_CLUST_INDEX
lock_space: 192
  lock_page: 3
   lock_rec: 2
  lock_data: 0x000001E00900
*************************** 2. row ***************************
    lock_id: 9658865:192:3:2
lock_trx_id: 9658865
  lock_mode: X
  lock_type: RECORD
lock_table: `test`.`test1`
lock_index: GEN_CLUST_INDEX
lock_space: 192
  lock_page: 3
   lock_rec: 2
  lock_data: 0x000001E00900
2 rows in set (0.00 sec)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表