当前位置: 首页 > 面试题库 >

SQL-UPDATE中每个SET命令的WHERE子句?

严令秋
2023-03-14
问题内容

我正在尝试在PHP中创建SQL查询以更新表。WHERE每个受影响的行都有可能有不同的子句吗?

例如:

UPDATE table 
SET val=X WHERE someproperty = 1,
SET val=Y WHERE someproperty = 2

等等?

任何帮助表示赞赏。谢谢


问题答案:

任何SQL语句都不能有多个WHERE子句,但是可以使用CASE语句来完成您要尝试执行的操作。您拥有的另一个选择是执行多个UPDATE语句。

这是使用CASE语句的示例:

UPDATE table
SET val = (
    CASE someproperty
        WHEN 1 THEN X
        WHEN 2 THEN Y
        ELSE val
    END
);

这是使用多个UPDATE语句的示例:

UPDATE table SET val=X WHERE someproperty = 1;
UPDATE table SET val=Y WHERE someproperty = 2;


 类似资料:
  • 问题内容: 对于MYSQL,我正在使用以下查询: 没关系,但我想向其投放15个以上的广告: 我要如何添加呢? 编辑: 根据猎人的建议: 这很棒!谢谢 问题答案: 这样的事情应该为您工作: 另外,如Simon所建议的,您可以这样做来避免输入两次值: 资料来源:http : //www.karlrixon.co.uk/writing/update-multiple-rows-with-differen

  • 问题内容: 我在某处看到此查询- 什么是 “N” 是什么意思?我不确定这是否仅对SQL Server有效。 问题答案: N代表“国家字符”,它表示字符串的内容为Unicode。 只要碰到专有名称或其他可能包含默认ASCII字符集以外的字符的实体,就应该使用Unicode(/ )。如果不使用前缀将此类字符串括起来,则会丢失数据。例如: 结果: 您还应确保在您或其他子句中对列使用前缀。不使用前缀时,由

  • WHERE 子句用于过滤记录。 SQL WHERE 子句 WHERE 子句用于提取那些满足指定标准的记录。 SQL WHERE 语法SELECT column_name,column_name FROM table_name WHERE column_name operator value; 演示数据库 在本教程中,我们将使用 RUNOOB 样本数据库。 下面是选自 "Websites" 表的数据

  • 问题内容: 将SELECT查询放在UPDATE查询的WHERE子句中时出现错误。 我的查询是这样的: AND错误将显示如下: “无法在FROM子句中指定目标表’m’进行更新” 问题答案: 实际上,您可以通过将其包装在子查询中来更新它(从而为结果创建临时表) 或使用 JOIN

  • Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。 语法: set 命令的基本语法格式如下: 参数说明如下: key:键值 key-value 结构中的 key,用于查找缓存值。 flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。 e

  • 问题内容: 我正在向数据库中插入大约500 000个对象,其中许多对象是相同的(数据库中具有相同的主键表示),但是其他字段可能不同,因此我使用的方法是“更新-如果没有受影响的行-插入”。问题在于,有时对象的某些字段设置为null(无法从文件读取),并且已经在数据库中设置了某些值,因此我将其更新为null =删除它。)如何实现方案,即只更新字段不为空? 这是我现在如何做的一个简单示例: 问题答案: