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

ตั้งค่า AUTO_INCREMENT แบบกำหนดเองพร้อม ZEROFILL ใน MySQL

การสร้างตารางด้วย ZEROFILL

ใช้ ZEROFILL ร่วมกับ AUTO_INCREMENT เพื่อเติมศูนย์นำหน้า:

mysql> CREATE TABLE DemoTable1831 (
    UserId INT(7) ZEROFILL AUTO_INCREMENT,
    PRIMARY KEY(UserId)
);

เพิ่มข้อมูลทดสอบ

mysql> INSERT INTO DemoTable1831 VALUES(101);  -- ระบุค่าเริ่มต้น
mysql> INSERT INTO DemoTable1831 VALUES();   -- ใช้ AUTO_INCREMENT
mysql> INSERT INTO DemoTable1831 VALUES();
mysql> INSERT INTO DemoTable1831 VALUES();

ผลลัพธ์

mysql> SELECT * FROM DemoTable1831;
+---------+
| UserId  |
+---------+
| 0000101 |
| 0000102 |
| 0000103 |
| 0000104 |
+---------+

รายละเอียดการทำงาน

  • INT(7) กำหนดความกว้างแสดงผล 7 หลัก
  • ZEROFILL เติมศูนย์ทางซ้ายจนครบ 7 หลัก
  • AUTO_INCREMENT เพิ่มค่าอัตโนมัติจากค่าล่าสุด
  • ค่าแรกที่ระบุ (101) กำหนดค่าเริ่มต้นของลำดับ

ข้อควรระวัง

  • ZEROFILL ทำให้คอลัมน์กลายเป็น UNSIGNED อัตโนมัติ
  • เป็นการจัดรูปแบบแสดงผล ไม่ส่งผลต่อค่าจริงที่จัดเก็บ
  • อาจสร้างปัญหาในการ JOIN กับคอลัมน์ที่ไม่มี ZEROFILL