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

เรียงลำดับคีย์ใหม่หลังจากลบบันทึกจากตาราง MySQL หรือไม่


สำหรับสิ่งนี้ ให้ใช้คำสั่ง UPDATE กับการคำนวณทางคณิตศาสตร์บางอย่าง หากต้องการลบ ID ให้ใช้ DELETE ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable1476 (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable1476 (20) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable1476 ( 30); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable1476 (40); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)

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

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

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

<ก่อนหน้า>+------+| รหัส |+------+| 10 || 20 || 30 || 40 |+------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อลบ id บางส่วนออกจากตาราง -

mysql> ลบออกจาก DemoTable1476 โดยที่ Id=30;Query OK ได้รับผลกระทบ 1 แถว (0.16 วินาที)

หลังจากลบแล้ว บันทึกตารางจะเป็นดังนี้ −

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

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

<ก่อนหน้า>+------+| รหัส |+------+| 10 || 20 || 40 |+------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อจัดลำดับคีย์ใหม่หลังจากลบออกจากตาราง MySQL -

mysql> อัปเดต DemoTable1476 set Id=Id-10 โดยที่ Id> 30;Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที) แถวที่ตรงกัน:1 เปลี่ยนแปลง:1 คำเตือน:0

ให้เราตรวจสอบบันทึกตารางอีกครั้ง -

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

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

<ก่อนหน้า>+------+| รหัส |+------+| 10 || 20 || 30 |+------+3 แถวในชุด (0.00 วินาที)