Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การรีเซ็ตค่าฟิลด์ MySQL ให้เป็นค่าเริ่มต้น (Default Value)

ใน MySQL มี 2 วิธีในการรีเซ็ตค่าฟิลด์ให้เป็นค่าเริ่มต้น: ใช้คีย์เวิร์ด DEFAULT หรือฟังก์ชัน DEFAULT()

วิธีที่ 1: ใช้คีย์เวิร์ด DEFAULT

UPDATE yourTableName SET yourColumnName = DEFAULT WHERE yourCondition;

วิธีที่ 2: ใช้ฟังก์ชัน DEFAULT()

UPDATE yourTableName SET yourColumnName = DEFAULT(yourColumnName) WHERE yourCondition;

ตัวอย่างการใช้งาน

สร้างตารางตัวอย่าง:

mysql> create table Default_Demo (
    -> 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 Default_Demo(Name,Age,Salary) values('John',23,405.56);
mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98);
mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24);
mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10);
mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50);
mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45);

ข้อมูลเดิม:

+----+-------+------+---------+
| 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 |
+----+-------+------+---------+

กรณีที่ 1: รีเซ็ต Age ด้วย DEFAULT

mysql> update Default_Demo set Age=DEFAULT where Id=6;
Query OK, 1 row affected (0.10 sec)

ผลลัพธ์ Age กลายเป็น NULL (ค่าเริ่มต้น):

+----+-------+------+---------+
| 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 |
+----+-------+------+---------+

กรณีที่ 2: รีเซ็ต Salary ด้วย DEFAULT()

mysql> update Default_Demo set Salary=DEFAULT(Salary) where Id=6;
Query OK, 1 row affected (0.21 sec)

ผลลัพธ์ Salary กลายเป็น NULL:

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