除了 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)
广告