Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa BIT và TINYINT trong MySQL?


BIT: Lưu 1 bit (0 hoặc 1). Không thể lưu giá trị 2.
TINYINT: Lưu 8 bit (signed: -128 đến 127, unsigned: 0 đến 255).

Kiểm tra phiên bản MySQL

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.12    |
+-----------+
1 row in set (0.00 sec)

Kiểu BIT

mysql> CREATE TABLE BitDemo (Id BIT);
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO BitDemo VALUES(1);
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO BitDemo VALUES(0);
Query OK, 1 row affected (0.33 sec)
mysql> INSERT INTO BitDemo VALUES(2);
ERROR 1406 (22001): Data too long for column 'Id' at row 1

Kiểu TINYINT

mysql> CREATE TABLE TinyIntDemo (Id TINYINT);
Query OK, 0 rows affected (0.69 sec)
mysql> INSERT INTO TinyIntDemo VALUES(123), (97), (127);
Query OK, 3 rows affected (0.17 sec)
mysql> INSERT INTO TinyIntDemo VALUES(9876);
ERROR 1264 (22003): Out of range value for column 'Id' at row 1

Giá trị tối đa TINYINT signed là 127.

mysql> SELECT * FROM TinyIntDemo;
+------+
| Id   |
+------+
| 123  |
| 97   |
| 127  |
+------+
3 rows in set (0.00 sec)