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

กำลังใช้งาน INSERT… ในการอัปเดตคีย์ซ้ำใน MySQL


ในการแทรกแถวใหม่ลงในตาราง หากแถวนั้นทำให้เกิดการซ้ำซ้อนในดัชนี UNIQUE หรือ PRIMARY KEY อาจมีข้อผิดพลาดเกิดขึ้น ในการแก้ไขปัญหานี้ ให้ใช้ ON DUPLICATE KEY UPDATE ในการใช้สิ่งนี้ในคำสั่ง INSERT แถวที่มีอยู่จะได้รับการอัปเดตด้วยค่าใหม่

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> Value int -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.61 วินาที)

นี่คือแบบสอบถามเพื่อสร้างดัชนี -

mysql> สร้างดัชนีเฉพาะ value_index บน DemoTable(Value);Query OK, 0 แถวได้รับผลกระทบ (0.77 วินาที)ระเบียน:0 รายการซ้ำ:0 คำเตือน:0

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable (40) ในการอัปเดตคีย์ที่ซ้ำกัน Value=Value+1000;Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable (50) ในการอัปเดตคีย์ที่ซ้ำกัน Value=Value+1000;แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable (40) ในการอัพเดทคีย์ที่ซ้ำกัน Value=Value+1000; Query OK, 2 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 50 || 1040 |+-------+2 แถวในชุด (0.00 วินาที)