MySQL 将空值的列更新为 NULL


要实现这一目标,你可以将 IF() 与 UPDATE 命令配合使用。我们首先创建一个表 -

mysql> create table DemoTable1601
   -> (
   -> FirstName varchar(20) ,
   -> LastName varchar(20)
   -> );
Query OK, 0 rows affected (0.53 sec)

使用 insert 命令向表中插入一些记录 -

mysql> insert into DemoTable1601 values('John','Doe');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1601 values('Adam','');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1601 values('David','Miller');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1601 values('Chris','');
Query OK, 1 row affected (0.11 sec)

使用 select 语句显示表中所有记录 -

mysql> select * from DemoTable1601;

这将产生以下输出 -

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      |      Doe |
| Adam      |          |
| David     |   Miller |
| Chris     |          |
+-----------+----------+
4 rows in set (0.00 sec)

以下是要将列更新为 null 或其值

mysql> update DemoTable1601 set LastName=if(LastName='',NULL,LastName);
Query OK, 2 rows affected (0.22 sec)
Rows matched: 4  Changed: 2 Warnings: 0

让我们再次检查表记录 -

mysql> select * from DemoTable1601;

这将产生以下输出 -

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| John      |      Doe |
| Adam      |     NULL |
| David     |   Miller |
| Chris     |     NULL |
+-----------+----------+
4 rows in set (0.00 sec)

更新时间:16-12-2019

2K+ 浏览量

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告
© . All rights reserved.