几天前我曾寻求帮助,但没有得到答复。或任何评论。如果我变得烦人,我深表歉意,我只是想使用可用的渠道来完成我的课堂作业。
使用一个变量来编写一个名为“AddNewAlbum”的过程。此过程至少需要两个参数 - NameOfArtist 和 AlbumName。该程序将:
1.从 Artist 表中查找 ArtistID,其中艺术家名称为 NameOfArtist
2. 使用在步骤#1 中找到的 ArtistID 和 AlbumName 参数在专辑中插入新行
现在可以安全地假设艺术家在您运行此过程之前存在(这意味着如果您调用 AddNewAlbum ('Bob Dylan', 'Street Legal');那么“Bob Dylan”已经存在于 Artist 表中。
这就是我需要做的^
CREATE PROCEDURE AddNewAlbum (
NameOfArtist varchar(50),
AlbumName varchar(50)
)
BEGIN
DECLARE artist_id varchar(50);
SELECT ArtistID into artist_id
FROM Artists
WHERE ArtistName = NameOfArtist;
INSERT INTO Albums (Title)
VALUES (AlbumName);
END;
//
call AddNewAlbum (
"Bob Dylan",
"Street Legal"
);
//
错误 1364 (HY000): 字段 'ArtistID' 没有默认值
那是返回的错误。我试图用其他几种方式来写这个,并且同样的错误返回。