重置MySQL字段为默认值?

在MySQL中,可以通过两种方法将MySQL字段重置为默认值。一个是默认关键字,另一个是default()方法。

情况1:使用默认关键字。语法如下:

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)
   -> );

使用insert命令在表中插入一些记录。查询如下:

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);

使用select语句显示表中的所有记录。查询如下:

mysql> select *from Default_Demo;

以下是输出:

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

这是将MySQL字段重置为默认值的查询。

情况1:使用默认关键字。查询如下:

mysql> update Default_Demo set Age=Default where Id=6;
Rows matched: 1 Changed: 1 Warnings: 0

现在,您可以检查表记录,“年龄”列为NULL,其中“ Id”为6。查询如下:

mysql> select *from Default_Demo;

以下是输出:

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

查看其中Age列已更新为默认值NULL的Id 6。

情况2:现在您还可以使用default()方法。在此处,使用默认值(其中Id为6)更新Salary列。查询如下:

mysql> update Default_Demo set Salary=Default(Salary) where Id=6;
Rows matched: 1 Changed: 1 Warnings: 0

现在检查表记录中Id为6。

mysql> select *from Default_Demo where Id=6;

以下是输出:

+----+-------+------+--------+
| Id | Name  | Age  | Salary |
+----+-------+------+--------+
|  6 | David | NULL | NULL   |
+----+-------+------+--------+
1 row in set (0.00 sec)

查看薪水列,默认值NULL成功更新。