DELIMITER $$
DROP PROCEDURE IF EXISTS updatePic $$
CREATE PROCEDURE updatePic()
BEGIN
DECLARE cover_pic VARCHAR(500);
DECLARE collect_id BIGINT(20);
DECLARE cur1 CURSOR FOR SELECT collect_id FROM collect WHERE IFNULL(cover_pic,'')='';
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET cover_pic = '';
OPEN cur1;
FETCH cur1 INTO collect_id;
WHILE(collect_id IS NOT NULL) DO
SELECT GROUP_CONCAT(cust_pic_url) INTO cover_pic FROM collect_item WHERE collect_id=collect_id and IFNULL(cust_pic_url,'') !='' AND cust_pic_url!=',' LIMIT 6;
UPDATE collect SET cover_pic=cover_pic WHERE collect_id=collect_id;
FETCH cur1 INTO collect_id;
END WHILE;
CLOSE cur1;
END$$

  

上面的存储过程一直不能正确运行,每次select collect_id得到的都是null,主要原因是定义的变量名和select语句里取的字段相同,改成下面就OK了

DELIMITER $$
DROP PROCEDURE IF EXISTS updatePic $$
CREATE PROCEDURE updatePic()
BEGIN
DECLARE cover_pic VARCHAR(500);
DECLARE id BIGINT(20);
DECLARE cur1 CURSOR FOR SELECT collect_id FROM collect b;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET id = NULL;
OPEN cur1;
FETCH cur1 INTO id;
SELECT id;
WHILE(id IS NOT NULL) DO
SELECT 1;
SELECT GROUP_CONCAT(cust_pic_url) INTO cover_pic FROM collect_item WHERE collect_id=id AND IFNULL(cust_pic_url,'') !='' AND cust_pic_url!=',' LIMIT 6;
UPDATE collect SET cover_pic=cover_pic WHERE collect_id=id;
FETCH cur1 INTO id;
END WHILE;
CLOSE cur1;
END$$

  

mysql 游标取值为空的问题的更多相关文章

  1. SpringBoot使用@Value从yml文件取值为空--注入静态变量

    SpringBoot使用@Value从yml文件取值为空--注入静态变量     1.application.yml中配置内容如下:   pcacmgr:   publicCertFilePath: ...

  2. MariaDB MySQL变量取值避免四舍五入的方法

    MySQL变量取值避免四舍五入的方法 By:授客 QQ:1033553122 在一些对数据精确度要求比较高的场景(比如资金结算)下,变量取值时不能对变量值进行四舍五入操作,这时候就要做些预处理工作. ...

  3. setlocale(LC_ALL, ""); 取值为空字符串" "(注意,不是NULL),则locale与本地环境所使用的编码方式相同(在本地化时,应该很有用);

    在C运行库提供的多字节字符-宽字符转换函数:mbstowcs()/wcstombs()中,需要用到全局变量locale( locale encoding ),以指定多字节字符的编码类型 1. 功能: ...

  4. mysql中CONCAT值为空的问题解决办法

    在mysql中concat函数有一个特点就是有一个值为null那么不管第二个字符有多少内容都返回为空了,这个特性让我们在实例应用中可能觉得不方便,但实现就是这样我们需要使用其它办法来解决. 天在做op ...

  5. ASP.NET页面使用JQuery EasyUI生成Dialog后台取值为空

    原因: JQuery EasyUI生成Dialog后原来的文档结构发生了变化,原本在form里的内容被移动form外面,提交到后台后就没有办法取值了. 解决办法: 在生成Dialog后将它append ...

  6. C#读取Excel,DataTable取值为空的解决办法

    连接字符串这么些就行了 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + opnFileName ...

  7. EASYUI combobox firefox 下取值为空的问题或不支持中文检索的问题

    输入中文包含数字 或者全部非中文是没问题的,这个是因为火狐浏览器输入中文输入法的时候 只能触发onkeyup而不能触发onkeydown的问题.而easyui渲染后赋值给隐藏input的过程需要 依赖 ...

  8. php的 $_REQUEST取值为空

    默认的 $_REQUEST 会获取 $_POST, $_GET, $_COOKIE的数据,这些可以通过查看 php.ini来确认: 由上图可以看出,获取的内容是通过 variables_order 和 ...

  9. hibernate左连接查询时在easyUI的dataGrid中有些行取值为空的解决办法

    1 当使用left join左连连接,sql语句为 select t from SecondPage t left join t.rightNavbar n where 1=1 页面中出现了部分空行的 ...

随机推荐

  1. Nginx简介及配置实用

    Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器: 支持的操作系统众多,windows.linux. MacOS X: 可实现负载均衡: Rewrite功能强大: 电商架构大部分都采用 ...

  2. offsetLeft与style.left区别

    在javascript中经常遇到style.left和offsetLeft,那么它们有什么区别呢?今天我们来分析下 offsetLeft:获取当前元素相对于父元素的左侧偏移量,比如该元素设置为rela ...

  3. iOS - OC NSData 数据

    前言 @interface NSData : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSMut ...

  4. redis问题

    phalcon 在读取数据的时候如果说reids数据库没有连接成功的话,则会显示一下错误:

  5. [转载] YouCompleteMe

    原文: http://blog.marchtea.com/archives/161#rd?sukey=fc78a68049a14bb2ba33c15948d34749e1eb616df07efe977 ...

  6. 2014 Multi-University Training Contest 5

    hdu4911 max(逆序数-k,0) #include <iostream> #include<stdio.h> #include<vector> #inclu ...

  7. 线程高级应用-心得4-java5线程并发库介绍,及新技术案例分析

    1.  java5线程并发库新知识介绍 2.线程并发库案例分析 package com.itcast.family; import java.util.concurrent.ExecutorServi ...

  8. 定义函数def

  9. js 中文乱码

    js合成url时,如果参数是中文,传到struts2中会乱码,解决办法如下:1.js文件中使用encodeURI()方法(必须套两层).login_name = encodeURI(encodeURI ...

  10. eclips引入Java源代码

    window->>preferences->>Java->Installed JRES 如图所示 这是中文本的 点击“Installed JRES”选择如下图所示的jdk ...