Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để đặt giá trị mặc định cho một cột trong MySQL?

Để đặt giá trị mặc định, hãy sử dụng từ khóa DEFAULT.

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable758 (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
);
Query OK, 0 rows affected (0.66 sec)

Sau đây là truy vấn để đặt giá trị mặc định cho một cột -

mysql> alter table DemoTable758 add column Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
Query OK, 0 rows affected (0.44 sec)
Records: 0 Duplicates: 0 Warnings: 0

Hãy để chúng tôi kiểm tra mô tả của bảng một lần nữa -

mysql> desc DemoTable758;

Điều này sẽ tạo ra kết quả sau -

+-----------+----------------------------------------------+------+-----+---------+----------------+
| 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  |                |
+-----------+----------------------------------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Ở đây, chúng tôi chưa chèn giá trị cho cột thứ 2 với FirstName “John”. Giá trị mặc định “VÀNG” sẽ được đặt ở đó -

mysql> insert into DemoTable758(FirstName) values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable758(FirstName,Colors) values('Carol','RED');
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable758;

Điều này sẽ tạo ra kết quả sau -

+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
|  1 | John      | YELLOW |
|  2 | Carol     | RED    |
+----+-----------+--------+
2 rows in set (0.00 sec)