簡體   English   中英

存儲過程中的mysql事務(鎖定/回滾)

[英]mysql transaction in stored procedure (locking/rollback)

存儲過程中的事務是否進行任何鎖定以防止其他人更新表?

我還需要顯式地放入回滾邏輯,還是如果由於從未到達提交命令而發生錯誤,事務將自動回滾。

存儲過程中的事務是否進行任何鎖定以防止其他人更新表?

當您在InnoDB表上執行某些DML時,受影響的行將被鎖定,直到事務結束為止(無論它是否在存儲過程中)。

您可以在鎖定它的同一事務中修改鎖定的行。

要顯式鎖定某些行,請發出:

SELECT  *
FROM    table
WHERE   condition
FOR UPDATE

除了提交或回滾事務外,沒有其他方法可以解鎖行

我是否需要顯式放入回滾邏輯,或者如果由於從未到達commit命令而發生錯誤,則事務將自動回滾。

您需要顯式執行回滾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM