透過執行指令 START TRANSACTION,使用者可以啟動新的 MySQL 交易。事務的行為將取決於 SQL AUTOCOMMIT 模式。預設模式是「AUTOCOMMIT ON」模式,其中每個 MySQL 語句都被視為一個完整的事務,並在完成時預設提交。可以透過將會話變數AUTOCOMMIT 設為1 來啟動它,如下所示-
SET AUTOCOMMIT = 1 mysql> SET AUTOCOMMIT = 1; Query OK, 0 rows affected (0.07 sec)
如果使用者想要改變MySQL 事務的這種行為,那麼他/她可以設定「AUTOCOMMIT OFF」SQL 模式,在在該模式下,後續的一系列MySQL 語句就像交易一樣,並且在明確COMMIT 語句之前不會提交任何活動已發出。在此模式下,新會話的第一個可執行語句將隱式啟動一個新的多語句交易。可以透過將會話變數 AUTOCOMMIT 設為 0 來啟動它,如下所示 -
SET AUTOCOMMIT = 0 mysql> SET AUTOCOMMIT = 0; Query OK, 0 rows affected (0.00 sec)
對於 InnoDB 中的事務,不要使用 SET AUTOCOMMIT = 0,而是使用 COMMIT 指令提交。
在兩種SQL 模式中,交易都會使用START TRANSACTION 命令啟動,如下-
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
實際上,上面的查詢通知MySQL 接下來的語句應被視為單一工作單元,直到事務結束。
以上是使用者如何開始新的 MySQL 事務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!