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

UNSIGNED trong MySQL là gì?

UNSIGNED là thuộc tính cho các kiểu số nguyên (TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT) cho phép chỉ lưu giá trị không âm (0 và dương), mở rộng phạm vi dương gấp đôi so với signed.

Ví dụ

mysql> CREATE TABLE UnsignedDemo (id INT UNSIGNED);
Query OK, 0 rows affected (0.61 sec)

mysql> INSERT INTO UnsignedDemo VALUES(124), (78967);
Query OK, 2 rows affected

mysql> SELECT * FROM UnsignedDemo;
+-------+
| id    |
+-------+
| 124   |
| 78967 |
+-------+

Chèn số âm sẽ báo lỗi:

mysql> INSERT INTO UnsignedDemo VALUES(-124);
ERROR 1264 (22003): Out of range value for column 'id' at row 1

Phạm vi so sánh (INT)

KiểuPhạm vi
INT SIGNED-2,147,483,648 đến 2,147,483,647
INT UNSIGNED0 đến 4,294,967,295

Dùng UNSIGNED cho khóa chính (id), số lượng, tuổi... các giá trị không bao giờ âm.