START 명령과 SAVEPOINT를 사용하여 여러 트랜잭션을 허용할 수 있습니다. CREATE 명령어로 테이블을 생성해보자.
표 만들기
mysql> CREATE table transactionDemo -> ( -> id int auto_increment, -> primary key(id) -> ); Query OK, 0 rows affected (0.76 sec)
그 후, 나는 START 명령의 도움으로 거래를 시작할 것입니다 -
mysql> START TRANSACTION; Query OK, 0 rows affected (0.00 sec)
그런 다음 INSERT 명령을 사용하여 다음 레코드를 삽입합니다 -
mysql> INSERT into transactionDemo values(); Query OK, 1 row affected (0.04 sec)
다음과 같이 SELECT 문을 사용하여 레코드를 표시할 수 있습니다. -
mysql> SELECT *from transactionDemo;
다음은 출력입니다.
+----+ | id | +----+ | 1 | +----+ 1 row in set (0.00 sec)
그런 다음 SAVEPOINT를 사용하여 이 쿼리를 저장합니다. 쿼리는 다음과 같습니다 -
mysql> SAVEPOINT t2;
기록 삽입
mysql> INSERT into transactionDemo values(); Query OK, 1 row affected (0.00 sec)
SELECT 명령의 도움으로 모든 레코드 표시 -
mysql> SELECT *from transactionDemo;
다음은 출력입니다.
+----+ | id | +----+ | 1 | | 2 | +----+ 2 rows in set (0.00 sec)
이제 첫 번째 트랜잭션을 롤백할 수 있습니다.
mysql> ROLLBACK TO t2; Query OK, 0 rows affected (0.03 sec)
이제 이전에 저장한 트랜잭션을 표시할 수 있습니다.
mysql> SELECT * from transactionDemo;
다음은 출력입니다.
+----+ | id | +----+ | 1 | +----+ 1 row in set (0.00 sec)