• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

施用游标将数据更新,陷入死循环,求解释

php 搞代码 4年前 (2022-01-24) 22次浏览 已收录 0个评论

使用游标将数据更新,陷入死循环,求解释
数据迁移
要将老的数据库里面的数据导入到新的数据库。
数据表不一样,只是有些字段一样。
我要
将这个库里面的user 表的数据导入到
NEW_DB的`USER_ACCOUNT表,下面这样居然陷入了循环,运行了十几分钟

<br />DELIMITER $$<br /><br />CREATE DEFINER=`root`@`localhost` PROCEDURE `pr_test3`()<br />BEGIN  <br />DECLARE p_username VARCHAR(20);  <br />DECLARE p_email VARCHAR(20) ;    <br />DECLARE Done INT;    <br />#得到游标,选择老的表里面的username和email<br />DECLARE rs CURSOR FOR SELECT username,email FROM  user LIMIT 100;  <br />DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;  <br />  <br />OPEN rs;<br />FETCH NEXT FROM rs INTO p_username,p_email;  <br />#开始遍历  <br />REPEAT  <br />IF NOT Done THEN  <br />#执行需要的操作  <br />  SELECT @p_username;<br />#插入到新的库的表<br />  INSERT INTO NEW_DB.`USER_ACCOUNT` (USERID,`PASSWORD`,`EMAIL`,`REGTIME`,`MODTIME`) VALUES (p_username,,'123456',p_email,NOW(),NOW());<br /> #下一条<br /> FETCH NEXT FROM rs <p style="color:transparent">。本文来源gao!%daima.com搞$代*!码网1</p><cite>搞代gaodaima码</cite>INTO p_username,p_email;  <br />END IF;  <br />UNTIL Done END REPEAT;  <br />CLOSE rs;  <br />END$$<br />DELIMITER ;<br />
游标

发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址