Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Ý nghĩa của INT(7) trong MySQL


Số trong ngoặc INT(7) chỉ là display width (độ rộng hiển thị), KHÔNG giới hạn phạm vi lưu trữ.

Giải thích chi tiết

  • INT luôn chiếm 4 bytes (32-bit signed).
  • Phạm vi: -2,147,483,648 đến 2,147,483,647.
  • INT(7) chỉ ảnh hưởng khi dùng kết hợp ZEROFILL.

Ví dụ với ZEROFILL

mysql> CREATE TABLE DisplayInt (Number INT(7) ZEROFILL);
Query OK, 0 rows affected (1.25 sec)

mysql> INSERT INTO DisplayInt VALUES (1), (12), (1234), (12345), (1234567);
Query OK, 5 rows affected

Kết quả:

+---------+
| Number  |
+---------+
| 0000001 |
| 0000012 |
| 0001234 |
| 0012345 |
| 1234567 |
+---------+

Giá trị được đệm số 0 ở đầu để đủ 7 ký tự.

Lưu ý quan trọng

  • Không giới hạn giá trị: Vẫn chèn được 12345678 (8 chữ số) vào INT(7).
  • ZEROFILL ngầm hiểu là UNSIGNED (không âm). Phạm vi: 0 đến 4,294,967,295.
  • Không ảnh hưởng hiệu năng hay dung lượng lưu trữ.
  • MySQL 8.0.17+ khuyến cáo không dùng ZEROFILL và display width (sẽ bị loại bỏ).

Tóm tắt

Đặc điểm INT INT(7) INT(7) ZEROFILL
Kích thước lưu trữ 4 bytes 4 bytes 4 bytes
Phạm vi giá trị -2.1B ~ 2.1B -2.1B ~ 2.1B 0 ~ 4.2B
Hiển thị Bình thường Bình thường Đệm 0 trái