对同一行运行2个更新事务

iqjalb3h  于 2021-06-19  发布在  Mysql
关注(0)|答案(0)|浏览(138)

给出了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 workbench中)运行第一个过程:

call simpleproc();

在第二个连接中,运行第二个过程

call simpleproc2();

令我惊讶的是,第二个事务并不等待第一个事务,而是立即执行。
我错过了什么?为什么第一个事务没有锁行 id=1 ?
mytableInnoDB 发动机

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题