我创建一个虚拟表:MySQL的INFORMATION_SCHEMA表不填充
CREATE TABLE `lock_test` (
`name` varchar(32) NOT NULL,
PRIMARY KEY (`name`)
) ENGINE=InnoDB ;
我锁定:
LOCK TABLE lock_test write;
然后我尝试再次锁定(同查询)。第二个锁定请求显然只是挂在那里。
select * from INFORMATION_SCHEMA.INNODB_LOCKS;
select * from INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
都是空的(返回零结果) - 我会期望他们被填充。我有PROCESS
权限(显示PROCESSLIST
显示锁定工作)。
对于这些表格,我有没有完全错误的结束?信息模式插件和InnoDB引擎肯定是安装的(通过运行SHOW PLUGINS进行检查;)。
感谢
你有'autocommit = 1'吗? – 2012-04-25 00:41:30
嗨 - 是的,他们肯定是承诺(我必须打开第二个连接来发出第二个LOCK命令 - 如果它没有提交第二个LOCK会失败)。谢谢! – 2012-04-25 01:31:22