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ữ.
-
TINYINT
luôn là 8 bit và có thể lưu trữ 2 giá trị khác nhau. -
SMALLINT
luôn là 16 bit và có thể lưu trữ 2 giá trị riêng biệt. -
INT
luôn là 32 bit và có thể lưu trữ 2 giá trị riêng biệt. -
BIGINT
luô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ì?