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

BOOLEAN hay TINYINT để lưu giá trị true/false trong MySQL?

Trong MySQL, BOOLEAN và BOOL là đồng nghĩa (synonyms) của TINYINT(1). Khi tạo cột kiểu BOOLEAN/BOOL, MySQL tự động chuyển thành TINYINT(1).

Minh họa:

CREATE TABLE BooleanDemo (IsOn BOOLEAN);
SHOW CREATE TABLE BooleanDemo;

Kết quả:

CREATE TABLE `booleandemo` (
  `IsOn` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB ...

Tương tự với BOOL:

CREATE TABLE BOOLDemo (validUser BOOL);
SHOW CREATE TABLE BOOLDemo;

Kết quả cũng là tinyint(1).

Giá trị lưu trữ:

  • TRUE / true → 1
  • FALSE / false → 0
  • Số khác 0 → TRUE (khi truy vấn)

Khuyến nghị: Dùng BOOLEAN hoặc BOOL cho dễ đọc code, nhưng hiểu bản chất là TINYINT(1).