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

ข้อใดนอกจาก START TRANSACTION ที่ใช้ในการเริ่มต้นธุรกรรม


เรายังสามารถใช้ BEGIN คำสั่งเพื่อเริ่มต้นการทำธุรกรรมใหม่ เหมือนกับ เริ่มการทำธุรกรรม คำสั่ง

ตัวอย่าง

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)