Không, đây là một quan niệm sai lầm phổ biến về MySQL. Trên thực tế, "độ dài" không ảnh hưởng đến kích thước của một số nguyên hoặc phạm vi giá trị mà nó có thể lưu trữ.
-
TINYINTluôn là 8 bit và có thể lưu trữ 2 giá trị khác nhau. -
SMALLINTluôn là 16 bit và có thể lưu trữ 2 giá trị riêng biệt. -
INTluôn là 32 bit và có thể lưu trữ 2 giá trị riêng biệt. -
BIGINTluôn là 64 bit và có thể lưu trữ 2 giá trị riêng biệt.
Cũng có MEDIUMINT, nhưng các kỹ sư làm việc trên MySQL cho tôi biết MEDIUMINT luôn được thăng cấp lên INT nội bộ 32-bit, vì vậy thực sự không có lợi khi sử dụng MEDIUMINT.
Chiều dài là chỉ để hiển thị và điều này chỉ quan trọng nếu bạn sử dụng ZEROFILL tùy chọn.
Xem ví dụ trong câu trả lời của tôi cho Sự khác biệt (khi được áp dụng cho mã của tôi) giữa INT (10) và INT (12) là gì?