mysql准备存储过程失败_MySQL:创办存储过程失败

mysql:创建存储过程失败

第一次使用如下代码创建存储过程,却报1307的错误:

mysql> create procedure sp_test() -> begin -> select userid,username from newname where userid = 222; -> end -> // ERROR 1307 (HY000): Failed to CREATE PROCEDURE sp_test

欢迎大家阅读《MySQL:创办存储过程失败》,跪求各位点评,by 搞代码

在网上查到一个解决方法:在命令行执行mysql_upgrade命令即可。

C:/Users/qxl>mysql_upgrade 'mysql_upgrade' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

查看MYSQL的BIN目录,未找到mysql_upgrade.exe文件。从其他的MYSQL数据库的安装目录下拷贝一个mysql_upgrade.exe放到BIN目录下:

C:/Users/qxl>mysql_upgrade Looking for 'mysql.exe' as: D:/APMServ5.2.6/MySQL5.1/bin/mysql.exe Looking for 'mysqlcheck.exe' as: D:/APMServ5.2.6/MySQL5.1/bin/mysqlcheck.exe FATAL ERROR: Can't execute 'D:/APMServ5.2.6/MySQL5.1/bin/mysqlcheck.exe'

又提示未找到mysqlcheck.exe文件,于是将此文件也一起拷贝过来:

C:/Users/qxl>mysql_upgrade ...... v9test1.v9_times OK v9test1.v9_type OK v9test1.v9_urlrule OK v9test1.v9_vote_data OK v9test1.v9_vote_option OK v9test1.v9_vote_subject OK v9test1.v9_wap OK v9test1.v9_wap_type OK v9test1.v9_workflow OK Running 'mysql_fix_privilege_tables'... OK

然后执行创建存储过程的语句:

mysql> delimiter // mysql> create procedure sp_test() -> begin -> select userid,username from newname where userid=215; -> end -> //

关于mysql_upgrade的介绍,在网上找了好久,也只找到一句话:mysql_upgrade是MySQL提供的一个指令,作用是检查MySQL中的各个表与当前版本的数据库是否匹配并尝试修复所有发现的问题。MySQL官方文档中推荐在每次升级后执行一下这个指令。

可能数据库当前存在某些问题需要修复,所以执行mysql_upgrade命令后,存储过程创建成功!

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值