给出2个简单过程
DELIMITER $$
CREATE PROCEDURE simpleproc()
BEGIN
UPDATE mytable SET name = 'bbb' WHERE id = 1;
DO SLEEP(15);
END
$$ DELIMITER ;
DELIMITER $$
CREATE PROCEDURE simpleproc2()
BEGIN
UPDATE mytable SET name = 'jjj' WHERE id = 1;
END
$$ DELIMITER ;
然后在一个连接中(在mysql工作台中)我运行第一个过程:
call simpleproc();
在第二个连接中,运行第二个过程
call simpleproc2();
让我惊讶的是,第二笔交易没有等待第一笔交易,而是立即执行。
我错过了什么?为什么第一笔交易没有锁id=1
行?
表mytable
具有InnoDB
引擎