การสร้างตารางด้วย 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