Câu trả lời:
An int
và a smallint
có kích thước khác nhau và do đó phạm vi.
Đây (5)
là smallint(5)
hoặc int(5)
được gọi là "Thuộc tính loại số" và nó đại diện cho "chiều rộng hiển thị" của trường,
MySQL hỗ trợ một phần mở rộng để tùy chọn chỉ định chiều rộng hiển thị của các loại dữ liệu số nguyên trong ngoặc đơn theo từ khóa cơ sở cho loại. Ví dụ:
INT(4)
chỉ định mộtINT
với chiều rộng hiển thị là bốn chữ số. Các ứng dụng có thể sử dụng chiều rộng hiển thị tùy chọn này để hiển thị các giá trị nguyên có chiều rộng nhỏ hơn chiều rộng được chỉ định cho cột bằng cách đệm trái chúng bằng khoảng trắng. (Nghĩa là, chiều rộng này có trong siêu dữ liệu được trả về với các tập kết quả. Nó có được sử dụng hay không tùy thuộc vào ứng dụng.)Khi được sử dụng cùng với thuộc tính tùy chọn (không chuẩn)
ZEROFILL
, phần đệm mặc định của khoảng trắng được thay thế bằng số không. Ví dụ, đối với một cột được khai báo làINT(4) ZEROFILL
, giá trị của5
được lấy là0005
.
Đây là một "phần mở rộng" của MySQL và zerofill là một "phần mở rộng" trên một phần mở rộng.
Đối với phương pháp lành mạnh trong việc điều khiển hiển thị loại số, không nên sử dụng Thuộc tính loại số và thay vào đó sử dụng