精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品原创,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究。点名“简易百科”和闲暇巴盗用锐英源原创内容
使用workbench开发存储过程很方便,但是对不熟悉的朋友经常会有一些陌生且害怕的提示,遇到mysql存储过程开发中else和end相关错误,这类错误一般会以提示框的形式展示,不解决的话,存储过程语句执行不了,不能把结果持久化到mysql里。
Extraneous input “end” found,expecting ‘;’
“else” is not valid at this position,expection END
mysql存储过程if else的语法格式如下:
if then
else if then
else
end if;
注意格式里是不带begin end,有的初学者看到存储过程create语句下面有begin和end,就自做主张加上,加了以后就会出上面的错误。另外就是end if后面加分号,必须有分号,加上了就不会提示第二类错误。分号是一个块的结束,一个整体意思的结束,少了分号,编译失败。
在C++里多行要用{},但是mysql存储过程这里多行也不需要加begin end,这是不一样的地方,是环境差异,不要受环境影响,掌握细节。