Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

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)

이 예에서 트랜잭션은 START TRANSACTION 문이 아닌 BEGIN 문에 의해 시작됩니다. 그런 다음 두 개의 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)