首页 > 文章列表 > 除了 START TRANSACTION 之外,哪个语句用于启动事务?

除了 START TRANSACTION 之外,哪个语句用于启动事务?

475 2023-08-28

我们还可以使用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)