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

MySQL - ฉันจะแก้ไขฟิลด์การเพิ่มอัตโนมัติด้วยแถวที่ถูกลบจาก 1,2,3,4,5 ถึง 1,3,5 ได้อย่างไร) ตอนนี้เราต้องการให้เป็น 1,2,3


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

mysql> สร้างตาราง DemoTable1955 ( UserId int ไม่ใช่ NULL AUTO_INCREMENT , คีย์หลัก (UserId) ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1955 (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1955 (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1955 (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1955 (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1955 (); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) 

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

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

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

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 1 || 2 || 3 || 4 || 5 |+-------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อลบแถวออกจากตาราง -

mysql> ลบออกจาก DemoTable1955 โดยที่ UserId IN (2,4); ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.00 วินาที)

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

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

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

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

นี่คือแบบสอบถามเพื่อแก้ไขฟิลด์การเพิ่มอัตโนมัติที่มีแถวที่ถูกลบ (1,2,3,4,5 ถึง 1,3,5) แบบสอบถามด้านล่างจะทำให้คอลัมน์เริ่มต้นจาก 1 เป็นเช่น 1,2,3 −

mysql> อัปเดต DemoTable1955 ตั้งค่า UserId =(@increment_value :=@increment_value+ 1) เรียงลำดับตาม UserId ตกลง ตกลง 2 แถวได้รับผลกระทบ (0.00 วินาที) แถวที่ตรงกัน:3 เปลี่ยนแล้ว:2 คำเตือน:0

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

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

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

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