prepare 和 row_count()一起使用的误区
生活随笔
收集整理的这篇文章主要介绍了
prepare 和 row_count()一起使用的误区
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
今天用PREPARE动态处理了UPDATE语句后,
发现ROW_COUNT()函数返回的老是-1 ,检查了下原来是把row_count()放到了
deallocate 语句后面了。
发现ROW_COUNT()函数返回的老是-1 ,检查了下原来是把row_count()放到了
deallocate 语句后面了。
| DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`sp_test_prepare`$$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_test_prepare`(IN f_id int, IN f_name varchar(64), IN f_str varchar(255),IN f_str2 varchar(255), OUT f_error_code boolean) BEGIN -- Determinate whether update is successful or failed. declare cnt int default 0; -- Update to new record. set @stmt = concat('update lk5 set `name` =''',f_name,''', str = ''',f_str,''''); set f_error_code = FALSE; if char_length(f_str2) != 0 then set @stmt = concat(@stmt,', str2 = ',f_str2); end if; set @stmt = concat(@stmt, ' where id = ',f_id); prepare s1 from @stmt; execute s1; -- Must be above of the deallocate statement. -- 只能放在这里才能显示出正确的结果。 set cnt = row_count(); deallocate prepare s1; -- Get the last record. if cnt > 0 then set f_error_code = TRUE; end if; END$$ DELIMITER ; |
本文转自 david_yeung 51CTO博客,原文链接:http://blog.51cto.com/yueliangdao0608/81276,如需转载请自行联系原作者
总结
以上是生活随笔为你收集整理的prepare 和 row_count()一起使用的误区的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 普及vmware连接上网
- 下一篇: 富盛Sbo生产管理简介