MySQL查询根据条件更新不同的字段?
让我们首先创建一个-
mysql> create table DemoTable1436 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> );
使用insert在表中插入一些记录-
mysql> insert into DemoTable1436(Name) values('Chris'); mysql> insert into DemoTable1436(Name) values('David'); mysql> insert into DemoTable1436(Name) values('Bob'); mysql> insert into DemoTable1436(Name) values('David'); mysql> insert into DemoTable1436(Name) values('David');
使用选择显示表中的所有记录-
mysql> select * from DemoTable1436;
这将产生以下输出-
+----+-------+ | Id | Name | +----+-------+ | 1 | Chris | | 2 | David | | 3 | Bob | | 4 | David | | 5 | David | +----+-------+ 5 rows in set (0.00 sec)
以下是根据条件更新不同字段的查询-
mysql> update DemoTable1436 -> set Name=IF(Name='David','Carol Taylor',Name) -> where Id=2; Rows matched: 1 Changed: 1 Warnings: 0
让我们再次检查表记录-
mysql> select * from DemoTable1436;
这将产生以下输出-
+----+--------------+ | Id | Name | +----+--------------+ | 1 | Chris | | 2 | Carol Taylor | | 3 | Bob | | 4 | David | | 5 | David | +----+--------------+ 5 rows in set (0.00 sec)