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

จะเปลี่ยนหมายเลขการเพิ่มอัตโนมัติใน MySQL ได้อย่างไร


auto_increment เป็นคุณสมบัติเริ่มต้นที่เพิ่มระเบียนที่เพิ่มใหม่โดยอัตโนมัติทีละ 1 หมายเลขเริ่มต้นสามารถเปลี่ยนแปลงได้โดยใช้คำสั่ง alter

ขั้นแรก สร้างตารางโดยใช้คำสั่ง insert ได้ดังนี้ −

mysql> สร้างตาราง AutoIncrementTable-> (-> id int auto_increment,-> name varchar(200),-> Primary key(id)-> );Query OK, 0 แถวได้รับผลกระทบ (0.70 วินาที)

หลังจากสร้างตารางแล้ว เร็กคอร์ดจะถูกแทรกลงในตารางโดยใช้คำสั่ง insert ซึ่งจะได้รับดังนี้ -

mysql> INSERT ลงใน AutoIncrementTable(name) values('Carol');Query OK, 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> INSERT เป็น AutoIncrementTable(name) values('Bob');Query OK, 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> INSERT ลงใน AutoIncrementTable (ชื่อ) ค่า ('John'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

ตอนนี้ ระเบียนในตารางสามารถดูได้โดยใช้คำสั่ง select ได้ดังนี้ −

mysql> SELECT * จาก AutoIncrementTable;

ผลลัพธ์ที่ได้จากการสืบค้นข้างต้นแสดงไว้ด้านล่าง -

<ก่อนหน้า>+----+-------+| id | ชื่อ |+----+-------+| 1 | แครอล || 2 | บ๊อบ || 3 | John |+----+-------+3 แถวในชุด (0.00 วินาที)

ขณะนี้ มีการแทรกระเบียนสามรายการในตารางและ id จะเพิ่มขึ้นครั้งละ 1 รายการ ขณะนี้การเพิ่มขึ้นอัตโนมัติมีการเปลี่ยนแปลงเพื่อให้ id ของระเบียนถัดไปเริ่มต้นจาก 1000

ไวยากรณ์สำหรับเปลี่ยน auto_increment มีดังต่อไปนี้

แก้ไขตาราง yourTableName auto_increment=startingNumber;

ไวยากรณ์ด้านบนใช้เพื่อเปลี่ยน auto_increment โดย 1000 ซึ่งแสดงอยู่ด้านล่าง −

mysql> แก้ไขตาราง AutoIncrementTable auto_increment =1000 ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.16 วินาที) บันทึก:0 รายการซ้ำ:0 คำเตือน:0

หลังจากเปลี่ยน auto_increment สำเร็จแล้ว จะมีการเพิ่มบันทึกลงในตารางมากขึ้น ด้านล่างนี้ −

mysql> INSERT ลงใน AutoIncrementTable(name) values('Taylor');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> INSERT เป็น AutoIncrementTable(name) values('Sam');Query OK, 1 แถวได้รับผลกระทบ ( 0.17 วินาที)

ตอนนี้ เรกคอร์ดตารางจะถูกดูโดยใช้คำสั่ง select จะเห็นได้ว่าสถิติที่ 4 เริ่มต้นจาก 1,000

mysql> SELECT * จาก AutoIncrementTable;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------+---------+| id | ชื่อ |+------+---------+| 1 | แครอล || 2 | บ๊อบ || 3 | จอห์น || 1000 | เทย์เลอร์ || 1001 | แซม |+------+-------+5 แถวในชุด (0.00 วินาที)