我收到错误消息:#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“IN GenreID INT(11), OUT AlbumName VARCHAR(30)) BEGIN SELECT AlbumName INTO Na”附近使用正确的语法
我的代码:
CREATE FUNCTION get_album_info_for_genre (IN GenreID INT(11), OUT AlbumName
VARCHAR(30))
BEGIN
SELECT AlbumName INTO NameOfAlbum FROM Albums WHERE GenreID=GenreID;
END
我在 PhpMyAdmin 中,正在尝试为音乐数据库编写一些函数。如果用户选择特定流派(仅显示该流派中的专辑和艺术家)或者如果他们选择艺术家,反之亦然,我想写一个显示艺术家姓名、流派名称和专辑名称。
我想我会从简单的开始,根据他们选择的类型显示专辑名称。
如有必要,我的表结构是:
专辑:AlbumID、GenreID、ArtistID、AlbumName
流派:流派 ID、流派名称
艺术家:ArtistID、ArtistName
我尝试将 Na 的位置更改为其他内容,但仍然出现错误。我也尝试更改分隔符,但这也无济于事。注意 phpmyadmin 默认有 ; 作为分界线。我尝试在顶部和底部添加 $$,但仍然出现错误 1064。由于某种原因,我找不到很多关于 mysql 函数的文章或视频。存储过程有很多,但我已经搜索了 4 天,我看到人们编写函数的唯一地方是在 stackoverflow 上。我查看了几个出现此错误的问题,但尝试了一些解决方案,但仍然缺少一些明显的东西。
编辑 - 我尝试更改语法以删除 IN 和 OUT 并得到相同的错误,但在不同的位置 - 在第 2 行的“BEGIN SELECT AlbumName INTO NameOfAlbum FROM Albums WHERE GenreID=GenreID”附近使用的语法