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

Sự khác biệt giữa int(5) và int(10) trong MySQL

Số trong ngoặc đơn chỉ định độ rộng hiển thị (display width) và hoạt động với ZEROFILL. Nó không ảnh hưởng đến phạm vi lưu trữ hay kích thước kiểu dữ liệu.

  • INT(5): độ rộng hiển thị = 5
  • INT(10): độ rộng hiển thị = 10

Ví dụ với ZEROFILL và UNSIGNED:

mysql> CREATE TABLE intVsIntDemo (
    -> Number1 INT(11) UNSIGNED ZEROFILL,
    -> Number2 INT(13) UNSIGNED ZEROFILL
    -> );

Chèn dữ liệu:

mysql> INSERT INTO intVsIntDemo VALUES (12345, 6789);
mysql> INSERT INTO intVsIntDemo VALUES (3, 2);
mysql> INSERT INTO intVsIntDemo VALUES (12, 89);
mysql> INSERT INTO intVsIntDemo VALUES (123, 6789);
mysql> INSERT INTO intVsIntDemo VALUES (1234, 6789);

Kết quả hiển thị (điền số 0 đầu để đủ độ rộng):

mysql> SELECT * FROM intVsIntDemo;
+-------------+---------------+
| Number1     | Number2       |
+-------------+---------------+
| 00000012345 | 0000000006789 |
| 00000000003 | 0000000000002 |
| 00000000012 | 0000000000089 |
| 00000000123 | 0000000006789 |
| 00000001234 | 0000000006789 |
+-------------+---------------+

Lưu ý quan trọng: INT(5) và INT(10) đều chiếm 4 byte, phạm vi giá trị giống hệt nhau (-2147483648 đến 2147483647). Số trong ngoặc chỉ ảnh hưởng hiển thị khi dùng ZEROFILL.