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

Cách đặt giá trị mặc định (DEFAULT) cho cột trong MySQL

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_TIMESTAMP cho 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;