sql中的update如何根据不同条件修改多条数据的同一列 10

例如:updateabcsetabc.a=1wherea.id=1;updateabcsetabc.a=1wherea.id=2;这样的update可以合并吗?... 例如:
update abc set abc.a=1 where a.id=1;
update abc set abc.a=1 where a.id=2;
这样的update可以合并吗?
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-04-10 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117848

向TA提问 私信TA
展开全部

如果只需要更新一个字段,MYSQL和ORACLE语法是一样的,在 set 后面跟一个子查询即可。

现在需要同时更新2个字段,最不经过大脑思考的方法就是 “为每个 set 后面都跟一个子查询”,但是假如要 set 十个字段或者更多字段,很显然,这样在性能上是很不合适的方法。

同时更新多个字段在MYSQL和ORACLE中的方法是不一样,MYSQL需要连接表,ORACLE使用 set(...) 即可。

扩展资料

sql更新语句中update用法:

语法:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

更新某一行中的一个列

为 lastname 是 "Wilson" 的人添加 firstname:

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

请注意 SQL UPDATE 语句中的 WHERE 子句!

WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!    

sysplay
推荐于2018-07-30 · TA获得超过1155个赞
知道小有建树答主
回答量:663
采纳率:86%
帮助的人:536万
展开全部
可以啊
修改Where条件
update abc set a=1 where id=1 Or id=2
你给的例句有问题啊,表名abc,后面写的是a.id
追问
后面表达错了。应该是abc.id.   用or不是选择执行id=1或者id=2的么?想要=1和=2的都执行。
追答
你想说的是id=1 And id=2吗?
id=1 Or id=2:如果id=1或者id=2中间有一个成立了,那么update语句会将Set a=1。
id=2 And id=2:如果id=1和id=2两个同时成立,update语句会将Set a=1。一个字段在一行中只能有一个值,不可能有两个值的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傲雪_12
2018-12-17 · 超过16用户采纳过TA的回答
知道答主
回答量:66
采纳率:94%
帮助的人:6.5万
展开全部
UPDATE abc SET abc.a=1 WHERE a.id IN (1,2),字符类型加''号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
工业分析中
2018-07-27 · TA获得超过241个赞
知道答主
回答量:84
采纳率:0%
帮助的人:38.1万
展开全部
修改学生表中性别列,如果是男,就修改为1,如果是女就修改为0,其他情况为2
请参照如下语句修改执行:
UPDATE student SET sex = (CASE WHEN sex='男' THEN 1 WHEN sex='女' THEN 0 ELSE 2 END) WHERE 1=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式