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ểu | Phạm vi |
|---|---|
| INT SIGNED | -2,147,483,648 đến 2,147,483,647 |
| INT UNSIGNED | 0 đế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.