Thuộc tính ZEROFILL trong định nghĩa cột INT(n) tự động đệm số 0 ở bên trái để độ rộng hiển thị bằng n. Lưu ý: ZEROFILL ngầm hiểu là UNSIGNED.
Tạo bảng cột INT(8) ZEROFILL
mysql> CREATE TABLE DemoTable (Number INT(8) ZEROFILL); Query OK, 0 rows affected (0.50 sec)
mysql> INSERT INTO DemoTable VALUES(10), (1234), (1), (678965); Query OK, 4 rows affected (0.16 sec)
Kết quả hiển thị
mysql> SELECT * FROM DemoTable;
+----------+ | Number | +----------+ | 00000010 | | 00001234 | | 00000001 | | 00678965 | +----------+ 4 rows in set (0.00 sec)
Lưu ý quan trọng:
ZEROFILLchỉ ảnh hưởng đến hiển thị, giá trị lưu trữ vẫn là số- Số chữ số hiển thị =
ntrongINT(n) - MySQL 8.0+ khuyến cáo không dùng
ZEROFILL(deprecated), hãy xử lý định dạng ở tầng ứng dụng - Không dùng cho khóa ngoại (foreign key) vì kiểu dữ liệu khác nhau