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

Kiểu dữ liệu tốt nhất lưu 0, 1, NULL trong MySQL

Để lưu trữ ba giá trị 0, 1 và NULL, kiểu dữ liệu phù hợp nhất là TINYINT(1) UNSIGNED NULL.

Cú pháp

ten_cot TINYINT(1) UNSIGNED NULL;

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE StoreValue0and1orNULLDemo (
    -> isDigit TINYINT(1) UNSIGNED NULL
    -> );

Chèn 3 giá trị:

mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(0);
mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(1);
mysql> INSERT INTO StoreValue0and1orNULLDemo VALUES(NULL);

Kết quả:

+---------+
| isDigit |
+---------+
| 0       |
| 1       |
| NULL    |
+---------+

Tại sao chọn TINYINT(1) UNSIGNED?

  • TINYINT(1): Chỉ dùng 1 byte, phạm vi -128 đến 127 (signed) hoặc 0-255 (unsigned)
  • UNSIGNED: Loại bỏ giá trị âm, phù hợp cho flag 0/1
  • NULL: Cho phép giá trị NULL khi chưa xác định
  • Tối ưu bộ nhớ và hiệu suất so với INT, BOOLEAN (alias của TINYINT(1))

Lưu ý: MySQL không có kiểu BOOLEAN riêng, BOOLEAN là alias của TINYINT(1).