MySQL存储过程表插入错误

时间:2019-01-26 09:25:16

标签: mysql stored-procedures

我有以下基本表格:

    create table hobbies (
    id int primary key auto_increment,
    name varchar(32) unique);

我正在尝试创建一个存储过程,以便在此表中插入新行,如下所示:

    delimiter //
    create procedure add_hobby(hobby varchar(32))
    begin
    insert into hobbies(name) values(hobby);
    end
    delimiter //

    call add_hobby('randomHobby');

当我调用上述过程时,我收到消息“发生意外错误”。我正在db-fiddle.com,MySQL ver 8.0上运行查询。如果我做错了什么或错过了什么,有人可以提供一些指导吗?我可以提到带有选择操作且没有任何参数的过程。预先非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要先设置定界符,然后在最后将其重置 对于您的参数,您需要将天气设置为输入或输出,然后输入名称和类型

delimiter //
create procedure add_hobby(IN hobby varchar(32))
begin
insert into hobbies(name) values(hobby);
end//
delimiter ;