在mysql数据库之中存储过程是一种用来去完成某种功能的SQL语句集,它只要第一次进行编译之后就可以永久使用,很多人都把他当做函数或者模块 。最近有小伙伴在创建存储过程进行编译的时候出现了语法错误,但是不知道为什么,下文会有相应的解决方法 。
文章插图
一、问题原因
【MySQL数据库存储过程语法报错为什么?原因和解决方法看这里】mysql数据库的存储过程创建语句之中需要使用begin表示存储过程要执行的语句从这里开始,在结尾使用end表示存储过程的语句要结束了 。而在mysql数据库之中无论是查询还是添加语句都要使用分号去分隔,但是在存储过程之中创建sql语句的时候却被mysql数据库的编译器把分号当做了结束语句,没有end就被检测成语法错误了 。
二、解决方法
一般来说上面这个问题都是因为mysql数据库版本所导致的,如果确定语句没有错误的话就要更新版本或者将语句的结束符改成别的符号,只要能够让mysql数据库编译器解析到end就可以了 。使用delimiter即可更改sql语句结束符,示例如下:
delimiter // --更改结束符create procedure course_id_name(in cid varchar(20))beginselect namefrom coursewhere id = cid;end//delimiter ; --将结束符换回分号以上就是关于“mysql数据库存储过程语法报错为什么?原因和解决方法看这里”的全部内容了,想要了解更多python的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家 。
推荐阅读
- MySQL数据库插入中文数据报错怎么办?解决方法看这里
- Postgresql数据库28000是什么错误?28000错误怎么解决
- MySQL数据库怎么判断表不存在才建立?这个语句一定要会
- Python中如何使用redis模块操作数据库?redis模块有哪些方法
- edius离线素材如何恢复?edius恢复存储位置被移动的素材的步骤过程
- MySQL配置文件my.ini保存在哪?MySQL怎么找配置文件
- Postgresql数据库怎么将编码改成utf-8?postgresql支持中文的方法
- Postgresql数据库不生成日志怎么办?更改这个文件轻松解决
- MySQL数据库怎么查看用户权限?MySQL权限怎么设置
- MySQL数据库提示未初始化怎么办?解决方法在这里