如何将MySQL字段重置为默认值?


在MySQL中,有两种方法可以将MySQL字段重置为默认值。一种是使用`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)

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

mysql> insert into Default_Demo(Name,Age,Salary) values('John',23,405.56);
Query OK, 1 row affected (0.18 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Carol',25,1000.98);
Query OK, 1 row affected (0.22 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Larry',21,987.24);
Query OK, 1 row affected (0.09 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Sam',24,986.10);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('Mike',22,10000.50);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Default_Demo(Name,Age,Salary) values('David',26,100.45);
Query OK, 1 row affected (0.20 sec)

使用`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:使用`default`关键字。查询如下:

mysql> update Default_Demo set Age=Default where Id=6;
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

现在您可以检查表记录,其中`Id`为6的`Age`列为NULL。查询如下:

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)

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

案例2:现在您也可以使用`default()`函数。在这里,将`Id`为6的`Salary`列更新为默认值。查询如下:

mysql> update Default_Demo set Salary=Default(Salary) where Id=6;
Query OK, 1 row affected (0.21 sec)
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)

查看`salary`列,默认值NULL已成功更新。

更新于:2019年7月30日

1K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告