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

ฉันจะตรวจจับได้อย่างไรว่าเหตุการณ์ ON UPDATE เริ่มทำงานด้วยการสืบค้นใน MySQL?


คุณสามารถตรวจจับได้ด้วยความช่วยเหลือของ 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 วินาที)