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

ตั้งค่าที่กำหนดเองสำหรับ AUTO_INCREMENT ขณะสร้างตารางและใช้ ZEROFILL จะเกิดอะไรขึ้นเมื่อไม่มีอะไรถูกแทรกในขณะที่ใช้คำสั่ง INSERT?


เราจะดูตัวอย่างและสร้างตารางที่เราได้ตั้งค่าคอลัมน์ StudentId เป็น AUTO_INCREMENT =100 และใช้ ZEROFILL ด้วย -

mysql> สร้างตาราง DemoTable( StudentId int(7) ZEROFILL ไม่เป็น NULL AUTO_INCREMENT, คีย์หลัก (StudentId))AUTO_INCREMENT=100; ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.48 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก ตอนนี้ เมื่อไม่มีอะไรถูกแทรก ค่าจะเริ่มต้นจาก 101 (auto_increment) และค่าที่เหลือทางด้านซ้ายจะเต็มไปด้วย 0 เนื่องจากเราได้ตั้งค่า ZEROFILL ในขณะที่สร้างตารางด้านบน -

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

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

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

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

<ก่อนหน้า>+-----------+| รหัสนักศึกษา |+-----------+| 0000100 || 0000101 || 0000102 || 0000103 |+-----------+4 แถวในชุด (0.00 วินาที)