現在、受講しているオンラインクラスの目標に問題があります。目的はこれより下です。私が使用しているコードと私が受け取っているエラーはそれより下になります。
変数を使用して、「AddNewAlbum」というプロシージャを記述します。このプロシージャは、少なくとも2つのパラメータ(NameOfArtistとAlbumName)を取ります。手順は次のとおりです。
1.ArtistテーブルからArtistIDを検索します。アーティスト名はNameOfArtistです。
2.手順1で見つかったArtistIDとAlbumNameパラメータを使用して、新しい行をアルバムに挿入します
今のところ、この手順を実行する前にアーティストが存在すると想定しても安全です(つまり、AddNewAlbum('Bob Dylan'、'Street Legal')を呼び出すと、「BobDylan」はArtistテーブルにすでに存在します。
CREATE PROCEDURE AddNewAlbum (
NameOfArtist varcahr(50),
AlbumName varchar(50)
)
BEGIN
SELECT ArtistID, ArtistName FROM Artists
WHERE ArtistName = 'NameOfArtist';
INSERT INTO Albums (Title)
VALUES (AlbumName);
END;
//
CALL AddNewAlbum (
"Bob Dylan",
"Street Legal"
);
//
エラー1364(HY000):フィールド'ArtistID'にデフォルト値がありません
^私が受け取るエラーです。誰かが私が間違っていることを見ることができますか?WHERE ArtistName='NameOfArtist';の周りを引用してみました。しかし、これは機能しませんでした。
アーティスト名とArtistIDを取得しているが、アルバムに新しい行を追加していないことを追加したいと思います。