ใช้ TINYINT (สIGNED) เพื่อเก็บตัวเลขลบได้ ช่วงค่า -128 ถึง 127
สร้างตาราง
mysql> CREATE TABLE DemoTable (Number TINYINT);
ทดสอบเพิ่มค่าต่างๆ
mysql> INSERT INTO DemoTable VALUES (-10); -- OK
mysql> INSERT INTO DemoTable VALUES (-128); -- OK (ค่าต่ำสุด)
mysql> INSERT INTO DemoTable VALUES (128); -- ERROR 1264: Out of range
mysql> INSERT INTO DemoTable VALUES (127); -- OK (ค่าสูงสุด)
mysql> INSERT INTO DemoTable VALUES (-1); -- OK
mysql> INSERT INTO DemoTable VALUES (14); -- OK
ดูข้อมูลที่เพิ่มสำเร็จ
mysql> SELECT * FROM DemoTable;
+--------+
| Number |
+--------+
| -10 |
| -128 |
| 127 |
| -1 |
| 14 |
+--------+
ชนิดข้อมูลตัวเลข SIGNED อื่นๆ
| ชนิด | ช่วงค่า | ขนาด |
|---|---|---|
| TINYINT | -128 ถึง 127 | 1 ไบต์ |
| SMALLINT | -32,768 ถึง 32,767 | 2 ไบต์ |
| MEDIUMINT | -8,388,608 ถึง 8,388,607 | 3 ไบต์ |
| INT | -2,147,483,648 ถึง 2,147,483,647 | 4 ไบต์ |
| BIGINT | -9,223,372,036,854,775,808 ถึง 9,223,372,036,854,775,807 | 8 ไบต์ |
หมายเหตุ: เพิ่ม UNSIGNED จะทำให้เก็บแค่ค่าบวก (0 ถึงค่าสูงสุด x2) แต่ไม่เก็บค่าลบได้