此 MySQL 代码中的 UPDATE 修改歌曲的发行年份时出现问题?



给定的SQL创建一个Song表并插入三首歌曲。

写三条UPDATE语句来做如下修改:

将标题从"One"改为"With Or Without You"。
将艺术家从"the Righteous Brothers"更改为"Aritha Franklin"。
—我知道他们拼错了Aretha,那不是问题
将1990年以后所有歌曲的发行年份改为2021年。

运行您的解决方案,并验证结果表中的歌曲是否反映了上述更改。

CREATE TABLE Song (
ID INT,
Title VARCHAR(60),
Artist VARCHAR(60),
ReleaseYear INT,
PRIMARY KEY (ID)
);
INSERT INTO Song VALUES
(100, 'Blinding Lights', 'The Weeknd', 2019),
(200, 'One', 'U2', 1991),
(300, 'You've Lost That Lovin' Feeling', 'The Righteous Brothers', 1964),
(400, 'Johnny B. Goode', 'Chuck Berry', 1958);
-- 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;
SELECT *
FROM Song;

应该注意的是,解决方案是有效的。我已经因为这个解决方案得到了好评。我的问题快结束了,作业特别希望1990年之后发行的歌曲改为2021年,也就是ID的100、200首。这个解决方案改变了2021年的一切。我试着做这个…

SET ReleaseYear = 2021 WHERE ID = (100, 200);

但是它出错了,因为有两个操作数。然后我尝试

CREATE TABLE Song (
ID INT,
Title VARCHAR(60),
Artist VARCHAR(60),
ReleaseYear INT,
PRIMARY KEY (ID)
);
INSERT INTO Song VALUES
(100, 'Blinding Lights', 'The Weeknd', 2019),
(200, 'One', 'U2', 1991),
(300, 'You've Lost That Lovin' Feeling', 'The Righteous Brothers', 1964),
(400, 'Johnny B. Goode', 'Chuck Berry', 1958);
-- 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;
ALTER TABLE Song
ADD CONSTRAINT ReleaseYearCheck CHECK (ReleaseYear >= 1990);
SET ReleaseYear = 2021;
SELECT *
FROM Song;

正如我所期望的那样,它没有通过约束检查。我不知道如何修改它,只是专门修改"Blinding lights"one_answers"With or Without you"。发行年份为2021年。我只能添加这样的代码:"——把你的UPDATE语句写在这里:"

记住我已经解决的第一个代码块,这给了我这个问题的功劳。我相信赋值检查器有一个错误,因为第一个代码块改变了所有东西的发布年份。根据这个问题,它似乎只想看到《致盲之光》和《有或没有你》的发行年份改变到2021年。

考虑到标准在1990以上:

UPDATE Song
SET ReleaseYear = 2021
WHERE ReleaseYear >= 1990

这对我有用

CREATE TABLE SongID INT,标题VARCHAR (60),艺术家VARCHAR (60),ReleaseYear INT,主键(id)

);插入歌曲值(100,《致盲之光》,《周末》,2019)(2000,"One","U2",1991),(《你已经失去了爱的感觉》,《正义的兄弟》,1964年)(400,《约翰尼·b·古德》,《查克·贝里》,1958);

——在这里写你的UPDATE语句:更新歌曲SET Title = '有你或没有你'WHERE Title = 'One';更新歌曲集艺术家= '艾瑞莎•弗兰克林'其中ID = 300;更新歌曲SET ReleaseYear = '2021'

SELECT *从歌曲;