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

MySQL更新案例帮助

贺立果
2023-03-14
问题内容

有人可以告诉我如何解决此查询吗?

update ae44
set Price = Case
when ID = 'AT259793380' then '500'
when ID = 'AT271729590' then '600'
when ID = 'AT275981020' then '700'
end case

我只想通过匹配ID来大规模更新基于ID的挂牌价格。


问题答案:
UPDATE  ae44
SET     price =
        CASE
        WHEN ID = 'AT259793380' THEN
                '500'
        WHEN ID = 'AT271729590' THEN
                '600'
        WHEN ID = 'AT275981020' THEN
                '700'
        END

请注意,此查询将使用其他ID将记录的价格更新为NULL

如果只想更新列表中的ID,请使用以下命令:

UPDATE  ae44
JOIN    (
        SELECT  'AT259793380' AS oldval, '500' AS newval
        UNION ALL
        SELECT  'AT271729590' AS oldval, '600' AS newval
        UNION ALL
        SELECT  'AT275981020' AS oldval, '700' AS newval
        ) q
ON      ae44.id = q.oldval
SET     price = q.newval


 类似资料:
  • 问题内容: 我有一个数据库表’ tbl_transaction ‘,其定义如下: 我想生成两列:和。 是否可以仅使用SQL查询有条件地填充列,以使输出显示在正确的列中,具体取决于它是费用项目还是收入项目? 例如: 我正在使用MySQL作为数据库。我正在尝试使用CASE语句来完成此任务。 干杯! 问题答案: 是的,像这样: 正如其他答案所指出的那样,MySQL还具有使用较少冗长语法的功能。我通常尝试

  • 我正在上Java课程的第三周。我正在做一个下星期要交的课堂作业。使用控制台作为输出,我可以毫无问题地完成分配,这是可以接受的。然而,教授也建议我们研究JTextArea,并考虑将其用于我们的程序输出。 我从一个教程中找到了一些代码,并且能够至少得到一个文本块来显示我要显示的第一行文本。但是在我编写实际程序时,我需要随着程序的进展继续向文本块添加额外的行。

  • 问题内容: 作为大学修订的一部分,我试图回答以下问题: 在“员工”数据库中的表的至少一个属性上创建索引,使用MySQL“ XPLAIN”工具在其中清楚地显示收益(相对而言或恢复)和负面(相对于更新) )创建相关索引。 在第一部分中,我在 employees 表上创建了一个索引,并在索引前后使用了以下查询,以从检索的角度证明它是有益的: 该索引的作用是将访问的行从300,000减少到仅63。 现在,

  • 编写一个方法writeChars,该方法接受整数参数n,并按如下方式输出n个字符。输出的中间字符应始终为星号(“*”)。如果要求您写出偶数个字符,则中间会有两个星号(“**”)。在星号之前,您应写出少于个字符(“ 我已经设法解决了这个问题,但不太明白一句话: 为什么是递归情况: n-2?而不是n-1?

  • 本文向大家介绍MySQL实例crash的案例详细分析,包括了MySQL实例crash的案例详细分析的使用技巧和注意事项,需要的朋友参考一下 【问题描述】 我们生产环境有一组集群的多台MySQL服务器(MySQL 5.6.21),不定期的会crash,但error log中只记录了重启信息,未记录crash时的堆栈: 接下来首先排查系统日志/var/log/message文件,crash时没有其他异

  • 问题内容: 更新“订单”列的最佳方法是什么? 假设我有一个ID列,其范围是0到9,而订购列的范围是0到9。 当前,它在数据库中的位置为:0 0、1、1、2、2等 我的HTML页面发布了新顺序:0 8、1 3、2 6等(这完全是随机的,由用户决定)。 进行更新的最佳方法是什么? 我可以遍历并运行每个更新。我还可以创建一个包含所有对的临时表,然后基于子查询进行更新。 但是我觉得我忘记了一些琐碎的事情,