Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
存储过程中的mysql事务(锁定/回滚)_Mysql - Fatal编程技术网

存储过程中的mysql事务(锁定/回滚)

存储过程中的mysql事务(锁定/回滚),mysql,Mysql,存储过程中的事务是否执行任何锁定以防止其他人更新表 我还需要显式地加入回滚逻辑,或者如果发生错误,事务将自动回滚,因为它从未到达commit命令 存储过程中的事务是否执行任何锁定以防止其他人更新表 当您在InnoDB表上执行一些DML时,受影响的行将被锁定,直到事务结束(不管它是否在存储过程中) 您可以在锁定它的同一事务中修改锁定的行 要显式锁定某些行,请发出: SELECT * FROM table WHERE condition FOR UPDATE 除了提交或回滚事务外,没有

存储过程中的事务是否执行任何锁定以防止其他人更新表

我还需要显式地加入回滚逻辑,或者如果发生错误,事务将自动回滚,因为它从未到达commit命令

存储过程中的事务是否执行任何锁定以防止其他人更新表

当您在
InnoDB
表上执行一些
DML
时,受影响的行将被锁定,直到事务结束(不管它是否在存储过程中)

您可以在锁定它的同一事务中修改锁定的行

要显式锁定某些行,请发出:

SELECT  *
FROM    table
WHERE   condition
FOR UPDATE
除了提交或回滚事务外,没有其他方法可以解锁行

我是否需要显式地放入回滚逻辑,或者如果发生错误,事务是否会自动回滚,因为它从未到达commit命令


您需要显式执行回滚。

我想我要问的是,在事务期间,行是否保持锁定状态。这意味着,如果我有多个更新,锁将在每次更新后释放,或者仅在所有更新完成后释放,因为它们位于事务中。锁将保留到事务结束,这就是锁定的全部要点:)