首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以在一个mysql命令中设置两次数据字段值吗?

我可以在一个mysql命令中设置两次数据字段值吗?
EN

Stack Overflow用户
提问于 2012-09-16 13:36:41
回答 1查看 118关注 0票数 2

假设我的表中有一个数据字段教育,现在我想更新教育=‘01’,早期的教育是'BA‘,同样的教育=’02‘,教育是'MD’。

所以我可以这样做

代码语言:javascript
运行
复制
update profile set education='01' where education='BA';
update profile set education='02' where education='MD';

我的问题是,我能否在一个命令中完成这个任务,比如

代码语言:javascript
运行
复制
   update profile set education='01' where education='BA' and set education='02' where education='MD';

这个语法是错误的,请告诉我这是可能的,怎么可能的?如果是不可能的,也请让我知道.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-16 13:39:45

您可以在CASE子句中使用SET语句,但是要小心包含一个ELSE大小写,它将列设置为其当前值--否则,两个大小写不匹配的行将被设置为NULL

代码语言:javascript
运行
复制
UPDATE profile
SET education = 
  CASE
    WHEN education = 'BA' THEN '01'
    WHEN education = 'MD' THEN '02'
    /* MUST include an ELSE case to set to current value, 
       otherwise the non-matching will be NULLed! */
    ELSE education
  END
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12447306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档