MySQL:错误即将插入过程的插入语句

问题描述

我是MysqL的新手。我正在尝试将数据从一个表迁移到另一个表。所以我写了一个程序。该过程中有一条插入语句会引发错误。在PHPmyadmin中,它只说错误是连接错误。下面是代码

DELIMITER //

CREATE PROCEDURE transfer_proc()
BEGIN
    DECLARE finished INTEGER DEFAULT 0;
    DECLARE OLD_ID INT;
    DECLARE NEW_ID INT;
    DECLARE MYPLAN INT;
    DECLARE DAT DATE;
    DECLARE DUTY varchar(200) DEFAULT "";
    DECLARE DS_DIV INT;
    DECLARE VEN varchar(200) DEFAULT "";
    DECLARE REM varchar(200) DEFAULT "";

    DEClARE CURDAT 
        CURSOR FOR 
            select mp.ID,mp.MY_PLAN_ID,mp.DATE,mp.DUTY_PROGRAMME,mp.DS_DIVISION_ID,mp.VENUE,mp.REMARKS
            from my_plan_custom_programme mp;

    DECLARE CONTINUE HANDLER 
        FOR NOT FOUND SET finished = 1;
        
        OPEN CURDAT;

    CURLOOP: LOOP
        FETCH CURDAT INTO OLD_ID,MYPLAN,DAT,DUTY,DS_DIV,VEN,REM;
        IF finished = 1 THEN 
            LEAVE CURLOOP;
        END IF;
                
        INSERT INTO my_plan_all_saved_programmes(MY_PLAN_ID,DATE,DUTY_PROGRAMME,DS_DIVISION_ID,VENUE,REMARKS)
        VALUES(MYPLAN,REM);
        
        
        SELECT MAX(ID) INTO NEW_ID FROM my_plan_all_saved_programmes;

        INSERT INTO my_plan_all_saved_ds_division(MY_PLAN_CUS_ID,DS_DIV)
        SELECT NEW_ID,DS_DIV FROM my_plan_ds_division WHERE MY_PLAN_CUS_ID = OLD_ID;
        
        
        
    END LOOP CURLOOP;
    CLOSE CURDAT;
    
 END;
 //

DELIMITER ; 

错误在循环的最后一个insert语句中出现。如果没有该插入语句,则将创建该过程。但是当它在那里时,会显示连接错误

INSERT INTO my_plan_all_saved_ds_division(MY_PLAN_CUS_ID,DS_DIV)
SELECT NEW_ID,DS_DIV FROM my_plan_ds_division WHERE MY_PLAN_CUS_ID = OLD_ID;

有人可以告诉该查询有什么问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...