存储过程中的事务是否进行任何锁定以防止其他人更新表?
我还需要显式放入回滚逻辑,否则如果发生错误,事务会自动回滚,因为它永远不会到达提交命令。
答案 0 :(得分:0)
存储过程中的事务是否进行任何锁定以防止其他人更新表?
当您在DML
表上执行某些InnoDB
时,受影响的行会被锁定,直到事务结束(无论是否在存储过程中)。
您可以修改锁定它的同一事务中的锁定行。
要显式锁定某些行,请发出:
SELECT *
FROM table
WHERE condition
FOR UPDATE
除了提交或回滚交易外,没有其他方法可以解锁行
我是否需要显式放入回滚逻辑,否则如果发生错误,事务会自动回滚,因为它永远不会到达提交命令。
您需要明确执行回滚。