我们可以使用if条件更新MySQL吗?

您可以使用IF条件以及CASE语句更新MySQL。为此,让我们首先创建一个表。创建表的查询-

mysql> create table UpdateWithIfCondition
   −> (
   −> BookId int,
   −> BookName varchar(200)
   −> );

现在,您可以使用insert命令在表中插入记录。查询如下-

mysql> insert into UpdateWithIfCondition values(1000,'C in Depth');

mysql> insert into UpdateWithIfCondition values(1001,'Introduction to Java');

使用select语句显示表中的所有记录。查询如下-

mysql> select *from UpdateWithIfCondition;

以下是输出-

+--------+----------------------+
| BookId | BookName             |
+--------+----------------------+
| 1000   | C in Depth           |
| 1001   | Introduction to Java |
+--------+----------------------+
2 rows in set (0.00 sec)

让我们使用if条件用值“ Introduction to C”更新值“ C in Depth”,用值2000更新1001。查询如下-

mysql> update UpdateWithIfCondition
   −> set BookName = if(BookName = 'C in Depth','Introduction to C',BookName),
   −> BookId = if(BookId = 1001,2000,BookId);
Rows matched: 2 Changed: 2 Warnings: 0

上面,我们更新了两个列值。以下是检查两个值是否已更新的查询-

mysql> select *from UpdateWithIfCondition;

以下是显示我们已成功使用if更新值的输出-

+--------+----------------------+
| BookId | BookName             |
+--------+----------------------+
| 1000   | Introduction to C    |
| 2000   | Introduction to Java |
+--------+----------------------+
2 rows in set (0.00 sec)