为此,请使用MySQL设置条件IF()。让我们首先创建一个表-mysql> create table DemoTable1592
-> (
-> StudentMarks int
-> );
使用插入命令在表中插入一些记录-mysql> insert into DemoTable1592 values(56);
mysql> insert into DemoTable1592 values(NULL);
mysql> insert into DemoTable1592 values(98);
mysql> insert into DemoTable1592 values(0);
mysql> insert into DemoTable1592 values(75);
mysql> insert into DemoTable1592 values(NULL);
使用select语句显示表中的所有记录-mysql> select * from DemoTable1592;
这将产生以下输出-+--------------+
| StudentMarks |
+--------------+
| 56 |
| NULL |
| 98 |
| 0 |
| 75 |
| NULL |
+--------------+
6 rows in set (0.00 sec)
这是只更新包含null或0的字段的查询-mysql> update DemoTable1592 set StudentMarks=if(StudentMarks IS NULL or StudentMarks=0,33,StudentMarks);
Rows matched: 6 Changed: 3 Warnings: 0
让我们再次检查表记录-mysql> select * from DemoTable1592;
这将产生以下输出-+--------------+
| StudentMarks |
+--------------+
| 56 |
| 33 |
| 98 |
| 33 |
| 75 |
| 33 |
+--------------+
6 rows in set (0.00 sec)