Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: เพิ่ม Constraint ให้คอลัมน์ INT รับเฉพาะค่าบวก (Positive Integer)


ใช้ 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   |
+-------+