Giới thiệu
MySQL cho phép gán giá trị mặc định cho cột bằng từ khóa DEFAULT. Giá trị này sẽ tự động được chèn nếu bạn không cung cấp dữ liệu cho cột đó khi thêm bản ghi mới.
Ví dụ thực hành
1. Tạo bảng DemoTable758
mysql> CREATE TABLE DemoTable758 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
2. Thêm cột Colors với giá trị mặc định 'YELLOW'
mysql> ALTER TABLE DemoTable758
ADD COLUMN Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
3. Kiểm tra cấu trúc bảng
mysql> DESC DemoTable758;
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| FirstName | varchar(100) | YES | | NULL | |
| Colors | enum('RED','GREEN','BLUE','ORANGE','YELLOW') | YES | | YELLOW | |
+-----------+----------------------------------------------+------+-----+---------+----------------+
4. Chèn dữ liệu kiểm tra DEFAULT
mysql> INSERT INTO DemoTable758(FirstName) VALUES('John'); -- Colors sẽ lấy 'YELLOW'
mysql> INSERT INTO DemoTable758(FirstName,Colors) VALUES('Carol','RED');
5. Kết quả
+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
| 1 | John | YELLOW |
| 2 | Carol | RED |
+----+-----------+--------+
Mẹo bổ sung
- Có thể đặt DEFAULT khi tạo bảng:
CREATE TABLE t (c INT DEFAULT 0); - Giá trị mặc định có thể là hằng số, hàm (như
CURRENT_TIMESTAMPcho cột thời gian), hoặc biểu thức (MySQL 8.0.13+). - Để xóa mặc định:
ALTER TABLE t ALTER COLUMN c DROP DEFAULT;