Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะใช้ธุรกรรมที่ซ้อนกันใน MySQL ได้อย่างไร


เราสามารถทำงานกับธุรกรรมที่ซ้อนกันใน MySQL ด้วยความช่วยเหลือของ SAVEPOINT

ขั้นแรก สร้างตาราง หลังจากนั้นเริ่มทำรายการ

ตอนนี้ แทรกระเบียนในตารางที่สร้างด้านบน ใช้คำสั่ง SAVEPOINT เพื่อตั้งค่าจุดบันทึกธุรกรรมที่มีชื่อด้วยชื่อของตัวระบุ

นี่คือขั้นตอนทั้งหมดที่แสดงในรูปแบบของแบบสอบถาม -

สร้างตาราง

mysql> create table NestedTransactionDemo
   -> (
   -> Name varchar(200)
   -> );
Query OK, 0 rows affected (0.63 sec)

เริ่มการทำธุรกรรม -

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

ตอนนี้ แทรกระเบียนลงในตาราง

mysql> insert into NestedTransactionDemo values('John');
Query OK, 1 row affected (0.04 sec)

แสดงบันทึกที่เพิ่มด้านบน −

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

ให้เราเริ่มต้นด้วยการทำธุรกรรมเพื่อสร้างธุรกรรมที่ซ้อนกัน -

mysql> savepoint transaction2;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into NestedTransactionDemo values('David');
Query OK, 1 row affected (0.00 sec)
mysql> select *from NestedTransactionDemo;
+-------+
| Name  |
+-------+
| John  |
| David |
+-------+
2 rows in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)

mysql> select *from NestedTransactionDemo;
+------+
| Name |
+------+
| John |
+------+
1 row in set (0.00 sec)

mysql> rollback to transaction2;
Query OK, 0 rows affected (0.00 sec)