ใช้ UNSIGNED เพื่อให้คอลัมน์ INT ไม่รับค่าลบได้
Syntax
CREATE TABLE yourTableName (yourColumnName INT UNSIGNED);
ตัวอย่าง
mysql> CREATE TABLE OnlyPositiveValue (Marks INT UNSIGNED);
mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES';
ทดสอบ Insert ค่าลบ (Error)
mysql> INSERT INTO OnlyPositiveValue VALUES (-10);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
mysql> INSERT INTO OnlyPositiveValue VALUES (-100);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
Insert ค่าบวก (สำเร็จ)
mysql> INSERT INTO OnlyPositiveValue VALUES (0), (10), (100);
ผลลัพธ์
+-------+
| Marks |
+-------+
| 0 |
| 10 |
| 100 |
+-------+