mysql存储过程和函数语法错误

时间:2018-07-04 23:01:57

标签: mysql syntax-error mysql-workbench mysql-error-1064

我在mysql工作台8.0.11中工作,在创建存储过程和函数时遇到问题。为了清楚起见,我正在通过mysql工作台在mysql中运行它。我根本没有使用任何其他程序。

我正在尝试创建一个新的存储过程。我不断收到语法错误:“定界符”在此位置是无效输入,预期为:创建。

我已经检查了mysql网站以确保我的语法正确并且匹配。要注意的另一件事是,我尝试使用使用记帐启动存储过程。 (我正在使用的数据库),我得到了相同的错误,只是用“ use”代替了“ delimiter”。因此,我不确定它与delimiter关键字本身有什么关系。可以在mysql工作台中进行一些设置以弄清楚这一点吗?另外,在尝试创建函数时,我也会收到完全相同的语法错误。

我尝试创建存储过程和函数,而不使用delimiter关键字或use关键字,并且当我按Apply键时,mysql崩溃。

这是我的代码:

delimiter $$
create procedure 'add_expense_category' (id int, name varchar(20))
begin
insert into expense_categories(expense_category_id, expense_category)
values(id, name);
end $$
delimiter ;

有人对如何解决这个问题有任何想法吗?设置要更改吗?有什么吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试

delimiter $$
create procedure `add_expense_category` (id int, name varchar(20))
begin
insert into expense_categories(expense_category_id, expense_category)
values(id, name);
end $$
delimiter ;