Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì xảy ra khi một giá trị âm được chèn vào cột UNSIGNED trong MySQL?

Lỗi xảy ra khi bạn đặt giá trị âm cho cột UNSIGNED trong MySQL. Ví dụ:trước tiên, chúng ta hãy tạo một bảng với trường UNSIGNED -

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

Lỗi như sau bất cứ khi nào bạn chèn giá trị âm vào cột Id được khai báo là CHƯA KÝ -

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

Ví dụ

Tuy nhiên, các giá trị tích cực hoạt động tốt đối với UNSIGNED. Điều tương tự được thể hiện trong ví dụ dưới đây. Chèn một số bản ghi trong bảng trên bằng lệnh insert. Truy vấn như sau -

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)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng một câu lệnh chọn. Truy vấn như sau -

mysql> SELECT *FROM UnsignedDemo;

Đầu ra

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