$query = mysql_query("UPDATE a SET fruit = '**apple**' WHERE id = '**1**' ");
$query2 = mysql_query("UPDATE a SET fruit = '**orange**' WHERE id = '**2**' ");
$query3 = mysql_query("UPDATE a SET fruit = '**peach**' WHERE id = '**3**' ");

有没有办法把它简化为一个查询?

推荐答案

是的,您可以使用以下查询:

UPDATE a 
SET fruit = (CASE id WHEN 1 THEN 'apple'
                     WHEN 2 THEN 'orange'
                     WHEN 3 THEN 'peach'
             END)
WHERE id IN(1,2 ,3);

Mysql相关问答推荐

如何在逗号分隔字符串值中使用LEFT函数

根据上一行S列结果计算列的查询

如何合并有多行的json列

为什么用PyMySQL构建的json返回结果会出现重复?

使用来自另一个表 mysql 的值将新行插入到表中

0000-00-00 00:00:00 表中的日期设置为 NOT NULL

如何查询由另一个查询创建的表?

仅当其他行相等时才 Select 行值

MySql,如何从列中替换某种格式的字符串

了解 Spring 和数据库级别的事务?

更新和替换未加引号的 JSON 字符串

查询给出错误时的 mySQL Group_Concat 和 Case

Golang Gorm没有从关联表中检索数据

用两个新列制作表格,按偶数或奇数对另一列进行分类,并将一个类别中的所有偶数和奇数相加

如何过滤表格,以便它显示最新的数据?

如何使用 phpmyadmin 复制数据库?

Drupal 的默认密码加密方法是什么?

我应该使用什么列数据类型来存储大量文本或 html

如何从两个不同的日期获得年份差异?

如何在 MYSQL 中使用 SQL 在两个日期时间值之间减go 并以分钟或秒为单位检索结果?