mysql存储过程controller的not found造成混乱的解决办法

打草稿

问题:对于select  var1 into var2 ,单select的结果为空的时候(空的意思是没有找到数据,不是该值为null) ,会触发controller的not found

当游标为空的时候,会触发controller的not found

当程序中有多个游标,select into 等的时候,可能会在不正确的时间触发controller的not found,导致程序逻辑混乱

解决办法:

加入标记块,并在标记块内捕获这个not found,不让它向上抛出,格式如下

标记块名称:BEGIN

执行的语句

END 标记块名称

时间: 2024-10-29 19:06:51

mysql存储过程controller的not found造成混乱的解决办法的相关文章

MYSQL更改root password时遇到Access Denied的解决办法

今天在公司虚拟机上装MYSQL之后需要修改root password,然而遇到这样的错误: Access denied for user 'root'@'localhost' (using password:YES) 后来在网上搜了下,找到如下解决办法,测试可用. # /etc/init.d/mysql stop# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &# mysql -u root mysqlmysql&g

Navicat 连接MySQL数据库 报错2059 - authentication plugin 'caching_sha2_password'的解决办法

#在数据库的命令行中输入以下代码即可解决,密码必须要修改 可以再次执行将密码改回来. use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; Navicat 连接MySQL数据库 报错2059 - authentication plugin 'caching_sha2_password'的解决办法 原文地址:https://www.cnblogs.com/liuha

MySQL 数据库输入密码后闪退的问题及解决办法

MySQL 数据库输入密码后闪退的问题及解决办法 1.问题说明 在启动MySQL服务端并输入密后,出现闪退现象.实际上,这种问题很常见,大多数原因可能是在咱们使用安全软件的时候,无意中关闭了MySQL服务.此外,如果MySQL服务已经启动了,但还是出现了闪退的现象,那就可能是MySQL的配置出现了问题. 2.解决方案(步骤) 鼠标右击此电脑 点击管理 点击服务和应用程序 点击服务 找到MySQL,点击启动此服务即可 原文地址:https://www.cnblogs.com/zhuchengbo/

Linux环境下启动MySQL数据库出现找不到mysqld.sock的解决办法!

问题: 在普通用户权限下运行:mysql -u root -p,回车之后如果会出现如下错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 此错误的意思就是没有找到mysqld.sock文件. 解决办法: 首先进入超级用户root权限  sudo -i 或者su - root 切换到默认目录 cd /var/lib/mysql  下查看

【linux】CentOS安装mysql*.rpm提示conflicts with file from package的解决办法

使用以下命令安装: rpm -ivh MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm 错误提示如下: Preparing...                ########################################### [100%] file /usr/share/mysql/charsets/README from install of MySQL-server-5.6.19-1.linux_glibc2.5.x86_6

mysql 5.1超过默认8小时空闲时间解决办法(错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure)

报错: MySQL第二天早上第一次连接超时报错, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 原因: 上述问题是由mysql5数据库的配置引起的.mysql5将其连接的等待时间(wait_timeout .interactive_timeout)缺省为8小时.在其客户程序中可以这样来查看其值: mysql> show global variables like 'wait

mysql like 匹配查询出不正确中文的解决办法

本文讲述mysql使用like语句时,匹配查询出不正确中文的解决办法 mysql like 搜索的时候发现,用 select title from tb_name where title like '%a%' 的时候出来的结果除了包含a的名字外连包含中文“新”的名字也出现在搜索结果里面,这令我想弄清楚mysql的匹配模式和规则到底是怎么样的,另外在匹配的时候正则表达式也很常用! 出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认

cmd控制台插入mysql数据库中文信息时,插入失败的解决办法

故障码: mysql> insert into t1(name,sex,age,address) values('张三','男',11,'沙河'); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1 该故障是由于中文编码不一致导致的数据插入失败所致. 一般mysql数据库在插入中文信息时出错的情况无外乎就是中文编码不一致所致.而目前支持中文的编码格式基本上有utf-8

mysql中RAND()随便查询记录效率问题和解决办法分享

在我们做开发的中效率一直是个问题,特别是对于很多大数据量操作,今天我们碰到一个要随机查询数据,一开始我们可能想到最简单的order by rand() 来操作但效率不敢恭维啊 最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1. 有两个方法可以达成以上效果. 1.新建一个表,里面存着 -5 至 5 之间的数.再利用order