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

เกิดอะไรขึ้นเมื่อแทรกค่าลบในคอลัมน์ UNSIGNED ใน MySQL

จะเกิดข้อผิดพลาดเมื่อแทรกค่าลบลงในคอลัมน์ UNSIGNED ตัวอย่าง สร้างตารางด้วยฟิลด์ UNSIGNED:

mysql> create table UnsignedDemo ( Id int UNSIGNED ); Query OK, 0 rows affected (0.79 sec)

ข้อผิดพลาดเมื่อแทรกค่าลบ:

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

ตัวอย่าง

แต่ค่าบวกทำงานได้ปกติ:

mysql> INSERT INTO UnsignedDemo VALUES(100); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO UnsignedDemo VALUES(1000); Query OK, 1 row affected (0.15 sec) mysql> INSERT INTO UnsignedDemo VALUES(0); Query OK, 1 row affected (0.11 sec) mysql> INSERT INTO UnsignedDemo VALUES(100000000); Query OK, 1 row affected (0.27 sec)

แสดงข้อมูล:

mysql> SELECT * FROM UnsignedDemo;

ผลลัพธ์

+-----------+ | Id | +-----------+ | 100 | | 1000 | | 0 | | 100000000 | +-----------+ 4 rows in set (0.00 sec)