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)