如果MySQL栏位栏位空白,将其视为NULL?

让我们首先创建一个表-

mysql> create table DemoTable1362
    -> (
    -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> ClientName varchar(40)
    -> );

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

mysql> insert into DemoTable1362(ClientName) values('Chris');
mysql> insert into DemoTable1362(ClientName) values(' ');
mysql> insert into DemoTable1362(ClientName) values('Bob');
mysql> insert into DemoTable1362(ClientName) values(' ');
mysql> insert into DemoTable1362(ClientName) values('David');
mysql> insert into DemoTable1362(ClientName) values(NULL);

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

mysql> select * from DemoTable1362;

这将产生以下输出-

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|        1 | Chris      |
|        2 |            |
|        3 | Bob        |
|        4 |            |
|        5 | David      |
|        6 | NULL       |
+----------+------------+
6 rows in set (0.00 sec)

以下是将列字段为空的查询,如果该字段为空-

mysql> update DemoTable1362
    -> set ClientName=NULL
    -> where ClientName='' or length(ClientName)=0;
Rows matched: 2  Changed: 2 Warnings: 0

让我们再次检查表记录-

mysql> select * from DemoTable1362;

这将产生以下输出-

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|        1 | Chris      |
|        2 | NULL       |
|        3 | Bob        |
|        4 | NULL       |
|        5 | David      |
|        6 | NULL       |
+----------+------------+
6 rows in set (0.00 sec)