INT (5) vs SMALLINT (5): số trong ngoặc đơn sau kiểu số


29

Trong định nghĩa bảng MySQL có sự khác nhau giữa INT(5)SMALLINT(5)? Hay cả hai đều đại diện cho cùng một kích thước?

Câu trả lời:


41

An intvà a smallintcó kích thước khác nhau và do đó phạm vi. Đây (5)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ột INTvớ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ủa 5đượ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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.