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

Giá trị tối đa của smallint (6) không dấu trong MySQL là gì?

Giá trị tối đa của SMALLINT (6) chưa được ký trong MySQL là 65535. Số 6 không ảnh hưởng đến phạm vi thực tế. Nó chỉ có thể được sử dụng để hiển thị chiều rộng trên dòng lệnh.

Giá trị Tối thiểu đã ký là

-32768

Giá trị Tối đa chưa được đánh dấu là

65535

Giá trị tối đa đã ký là

32767

Hãy để chúng tôi hiểu điều này với zerofill và tạo bảng bằng cách sử dụng truy vấn sau.

mysql> create table smallIntDemo
-> (
-> FirstNumber smallint(6) zerofill
-> );
Query OK, 0 rows affected (1.95 sec)

Bây giờ bạn có thể chèn các bản ghi trong bảng bằng cách sử dụng lệnh insert. Bất cứ khi nào bạn chèn vượt quá phạm vi 65535, nó sẽ không chèn vào bảng, vì đây là giá trị lớn nhất. Truy vấn như sau chèn các giá trị nhỏ hơn phạm vi tối đa.

mysql> insert into smallIntDemo values(2);
Query OK, 1 row affected (0.21 sec)

mysql> insert into smallIntDemo values(23);
Query OK, 1 row affected (0.21 sec)

mysql> insert into smallIntDemo values(234);
Query OK, 1 row affected (0.17 sec)

mysql> insert into smallIntDemo values(2345);
Query OK, 1 row affected (0.15 sec)

mysql> insert into smallIntDemo values(23456);
Query OK, 1 row affected (0.48 sec)

Bây giờ, chúng ta hãy xem một số bản ghi sẽ không chèn vào bảng vì nó mở rộng giá trị lớn nhất.

mysql> insert into smallIntDemo values(234567);
ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1

mysql> insert into smallIntDemo values(111111);
ERROR 1264 (22003): Out of range value for column 'FirstNumber' at row 1

Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from smallIntDemo;

Sau đây là đầu ra hiển thị việc sử dụng chiều rộng, tức là số trong SMALLINT (6). Chiều rộng là 6.

+-------------+
| FirstNumber |
+-------------+
| 000002 |
| 000023 |
| 000234 |
| 002345 |
| 023456 |
+-------------+
5 rows in set (0.00 sec)