除了 START TRANSACTION 外,哪條語句用於開始事務?


我們還可以使用BEGIN語句來開始一個新事務。它與START TRANSACTION語句相同。

示例

mysql> BEGIN;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO Marks Values(1, 'Aarav','History',40);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO Marks Values(2, 'Harshit','History',48);
Query OK, 1 row affected (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.04 sec)

在此示例中,事務是由BEGIN語句而不是START TRANSACTION語句發起的。然後執行兩個INSERT語句,後跟一個ROLLBACK語句。ROLLBACK語句將撤消對資料庫所做的更改,這可以透過以下結果集觀察到,該結果集顯示沒有新值插入到表中−

mysql> SELECT * FROM Marks;
+------+---------+---------+-------+
| Id   | Name    | Subject | Marks |
+------+---------+---------+-------+
|    1 | Aarav   | Maths   |    50 |
|    2 | Harshit | Maths   |    55 |
+------+---------+---------+-------+
2 rows in set (0.00 sec)

更新時間:22-Jun-2020

162 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.