You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Song表UPDATE修改歌曲发行年的正确写法问题求助

正确UPDATE语句写法

你之前的前两条UPDATE语句逻辑没问题,第三条没有加WHERE筛选条件导致全表更新,修改后完整代码如下:

-- Write your UPDATE statements here:
UPDATE Song
SET Title = 'With Or Without You' WHERE ID = 200;

UPDATE Song
SET Artist = 'Aritha Franklin' WHERE ID = 300;

UPDATE Song
SET ReleaseYear = 2021 WHERE ReleaseYear > 1990;

SELECT *
FROM Song;

之前错误写法的原因说明

  • 写WHERE ID = (100, 200)报错是因为单值匹配运算符=不能用于匹配多个值的集合,多值匹配需要改用IN运算符,即WHERE ID IN (100, 200),但这种写法是硬编码指定ID,不如直接按发行年筛选更贴合题目要求,适配表内更多数据的场景。
  • 添加CHECK约束属于多余操作,题目仅要求修改符合条件的行,不需要限制整个表的字段取值,且你添加约束后依然没有加WHERE条件就执行更新,会触发不符合约束的旧数据校验失败。

内容的提问来源于stack exchange,提问作者user16775217

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:39:01