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

Đặt lại giá trị mặc định cho cột trong MySQL

MySQL cung cấp hai cách để đặt lại giá trị cột về mặc định: sử dụng từ khóa DEFAULT hoặc hàm DEFAULT().

Cách 1: Sử dụng từ khóa DEFAULT

UPDATE ten_bang SET ten_cot = DEFAULT WHERE dieu_kien;

Cách 2: Sử dụng hàm DEFAULT()

UPDATE ten_bang SET ten_cot = DEFAULT(ten_cot) WHERE dieu_kien;

Ví dụ minh họa

Tạo bảng và chèn dữ liệu:

mysql> CREATE TABLE demo_default (
    -> Id INT NOT NULL AUTO_INCREMENT,
    -> Name VARCHAR(20),
    -> Age INT,
    -> Salary FLOAT,
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (0.73 sec)
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('John',23,405.56);
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('Carol',25,1000.98);
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('Larry',21,987.24);
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('Sam',24,986.10);
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('Mike',22,10000.50);
mysql> INSERT INTO demo_default(Name,Age,Salary) VALUES('David',26,100.45);

Dữ liệu ban đầu:

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 |  405.56 |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 |  987.24 |
|  4 | Sam   |   24 |  986.1  |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David |   26 |  100.45 |
+----+-------+------+---------+

Cách 1: Reset cột Age về mặc định (NULL) cho Id=6

mysql> UPDATE demo_default SET Age = DEFAULT WHERE Id = 6;

Kết quả:

+----+-------+------+---------+
| Id | Name  | Age  | Salary  |
+----+-------+------+---------+
|  1 | John  |   23 |  405.56 |
|  2 | Carol |   25 | 1000.98 |
|  3 | Larry |   21 |  987.24 |
|  4 | Sam   |   24 |  986.1  |
|  5 | Mike  |   22 | 10000.5 |
|  6 | David | NULL |  100.45 |
+----+-------+------+---------+

Cách 2: Reset cột Salary về mặc định (NULL) cho Id=6

mysql> UPDATE demo_default SET Salary = DEFAULT(Salary) WHERE Id = 6;

Kết quả:

+----+-------+------+--------+
| Id | Name  | Age  | Salary |
+----+-------+------+--------+
|  6 | David | NULL | NULL   |
+----+-------+------+--------+

Cả hai cách đều đặt lại giá trị cột về mặc định định nghĩa trong bảng (thường là NULL nếu không chỉ định DEFAULT).