Mysql 卡在存储过程上

Mysql 卡在存储过程上,mysql,stored-procedures,Mysql,Stored Procedures,我有一个查询在最新的mysql中运行良好 select Title, Link from PlaylistItem where PlaylistId = 1; 返回: +---------------------------+---------------------------------------------+ | Title | Link | +------------

我有一个查询在最新的mysql中运行良好

select Title, Link
from PlaylistItem
where PlaylistId = 1;
返回:

+---------------------------+---------------------------------------------+
| Title                     | Link                                        |
+---------------------------+---------------------------------------------+
| Regina Spektor - Fidelity | https://www.youtube.com/watch?v=wigqKfLWjvM |
+---------------------------+---------------------------------------------+
但是,当我编写存储过程时,会得到一个空的结果集

存储过程如下所示:

/* Fetch all playlist items for a playlist */
delimiter //
create procedure MixtapeDating.GetPlaylist
(
    in Id int
)
begin
    select Id, Title, Link
    from PlaylistItem
    where PlaylistId = @Id; 
end //
delimiter ;
我这样运行程序:

call GetPlaylist(1);

在mysql中,前缀为@are的变量不是存储过程级变量,因此@id与id不同。此外,id也是一个字段名,因此必须重命名参数

delimiter //
create procedure MixtapeDating.GetPlaylist
(
    in var_Id int
)
begin
    select Id, Title, Link
    from PlaylistItem
    where PlaylistId = var_Id; 
end //
delimiter ;

如何运行该过程?