คุณสามารถตรวจจับได้ด้วยความช่วยเหลือของ row_count() หาก row_count() คืนค่า 1 แสดงว่าเป็นระเบียนใหม่ หากส่งคืน 2 แสดงว่าเหตุการณ์ ON UPDATE เริ่มทำงานด้วยข้อความค้นหา ต่อไปนี้เป็นไวยากรณ์ -
select row_count();
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1512 -> ( -> Value int , -> UNIQUE(Value) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1512 (90) ในการอัปเดตคีย์ที่ซ้ำกัน Value=Value+10;Query OK, 1 แถวได้รับผลกระทบ (0.09 วินาที)
ตอนนี้คุณสามารถตรวจสอบว่าเหตุการณ์ในการอัปเดตเริ่มทำงานโดยใช้ข้อความค้นหาด้านบน -
mysql> เลือก row_count();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+| row_count() |+-------------+| 1 |+-------------+1 แถวในชุด (0.00 วินาที)คืนค่า 1 ซึ่งหมายความว่าไม่
ตอนนี้คุณสามารถแทรกระเบียนเดิมอีกครั้งในตารางโดยใช้คำสั่งแทรก -
mysql> แทรกลงในค่า DemoTable1512 (90) ในการอัปเดตคีย์ที่ซ้ำกัน Value=Value+10;Query OK, 2 แถวได้รับผลกระทบ (0.12 วินาที)
ตอนนี้คุณสามารถตรวจสอบว่าเหตุการณ์ในการอัปเดตเริ่มทำงานโดยใช้ข้อความค้นหาด้านบน -
mysql> เลือก row_count();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------------+| row_count() |+-------------+| 2 |+-------------+1 แถวในชุด (0.00 วินาที)