เราสามารถอนุญาตธุรกรรมหลายรายการด้วยความช่วยเหลือของคำสั่ง START และ SAVEPOINT ให้เราสร้างตารางด้วยคำสั่ง CREATE
การสร้างตาราง
mysql> สร้างตาราง transactionDemo-> (-> id int auto_increment,-> คีย์หลัก (id)-> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.76 วินาที)
หลังจากนั้น ฉันจะเริ่มการทำธุรกรรมโดยใช้คำสั่ง START -
mysql> เริ่มทำธุรกรรม ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)
หลังจากนั้นฉันกำลังแทรกบันทึกต่อไปนี้ด้วยความช่วยเหลือของคำสั่ง INSERT -
mysql> INSERT ลงในค่าทรานแซกชันเดโม ();เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.04 วินาที)
เราสามารถแสดงบันทึกโดยใช้คำสั่ง SELECT ได้ดังนี้ −
mysql> SELECT *จาก transactionDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+| id |+---+| 1 |+----+1 แถวในชุด (0.00 วินาที)หลังจากนั้น ฉันกำลังบันทึกข้อความค้นหานี้ด้วยความช่วยเหลือของ SAVEPOINT แบบสอบถามมีดังต่อไปนี้ −
mysql> SAVEPOINT t2;
แทรกบันทึก
mysql> INSERT ลงในค่า transactionDemo ();เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)
แสดงระเบียนทั้งหมดโดยใช้คำสั่ง SELECT -
mysql> SELECT *จาก transactionDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+| id |+---+| 1 || 2 |+----+2 แถวในชุด (0.00 วินาที)ตอนนี้ เราสามารถย้อนกลับธุรกรรมแรกได้ -
mysql> ROLLBACK TO t2; Query OK, 0 แถวได้รับผลกระทบ (0.03 วินาที)
ตอนนี้ เราสามารถแสดงธุรกรรมที่บันทึกไว้ก่อนหน้านี้ -
mysql> SELECT * จาก transactionDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+| id |+---+| 1 |+----+1 แถวในชุด (0.00 วินาที)