Để tạo cột boolean và gán giá trị mặc định (DEFAULT) là 1 khi chỉnh sửa bảng (ALTER TABLE), bạn sử dụng kiểu BOOLEAN (tương đương TINYINT(1)) với mệnh đề DEFAULT '1'.
Ví dụ minh họa
Tạo bảng ban đầu:
mysql> create table DemoTable (
isAdult int
);
Chỉnh sửa cột thành BOOLEAN với DEFAULT 1 và NOT NULL:
mysql> alter table DemoTable CHANGE isAdult isAdult BOOLEAN DEFAULT '1' NOT NULL;
Chèn bản ghi không chỉ định giá trị cho isAdult:
mysql> insert into DemoTable values(); mysql> insert into DemoTable values(); mysql> insert into DemoTable values(0);
Hiển thị kết quả:
mysql> select * from DemoTable;
Kết quả:
+---------+ | isAdult | +---------+ | 1 | | 1 | | 0 | +---------+
Giải thích:
BOOLEAN: Kiểu dữ liệu boolean (MySQL lưu là TINYINT(1), 1 = true, 0 = false)DEFAULT '1': Giá trị mặc định là 1 (true) khi INSERT không cung cấp giá trịNOT NULL: Không cho phép giá trị NULL- 2 bản ghi đầu INSERT rỗng → tự động nhận giá trị 1
- Bản ghi thứ 3 INSERT có giá trị 0 → ghi đè mặc định
Cách này hữu ích khi thiết kế cột trạng thái (active/inactive, yes/no) với giá trị mặc định là "kích hoạt" (1).