Mysql 将数据备份到另一个表中

Mysql 将数据备份到另一个表中,mysql,temp-tables,Mysql,Temp Tables,执行以下存储过程时,我遇到了一个类似“未知表'matched_temp'”的错误 DELIMITER $$ DROP PROCEDURE IF EXISTS `apms`.`sp_partition_parkinout` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_partition_parkinout`() BEGIN DROP TEMPORARY TABLE IF EXISTS MATCHED_TEMP; CREATE TEMP

执行以下存储过程时,我遇到了一个类似“未知表'matched_temp'”的错误

DELIMITER $$

DROP PROCEDURE IF EXISTS `apms`.`sp_partition_parkinout` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_partition_parkinout`()
BEGIN

DROP TEMPORARY TABLE IF EXISTS MATCHED_TEMP;

CREATE TEMPORARY TABLE MATCHED_TEMP AS
    SELECT ID FROM CARDINOUT
    WHERE (`State` = 2) AND
        (ID NOT IN (SELECT ID FROM CARDINOUT_MATCHED))
    LIMIT 200;

INSERT INTO CARDINOUT_MATCHED
SELECT * FROM CARDINOUT
WHERE ID IN (SELECT ID FROM MATCHED_TEMP);

DELETE FROM CARDINOUT
WHERE ID IN (SELECT ID FROM MATCHED_TEMP);

END $$

DELIMITER ;
我希望定期执行它,以便将数据从cardinout移动到cardinout_。目的是使表cardinout尽可能小,因为cardinout经常被查询

有没有其他选择来实现这一点

谢谢
Botem

我使用MySQL Connector Net 6.2.2。每次我都会收到类似“超时已过期。超时时间在操作完成之前已过,或者服务器没有响应”的错误。我手动执行了存储过程,得到了类似“未知表'matched_temp'”的错误。我使用MySQL Connector Net 6.2.2。每次我都会收到类似“超时已过期。超时时间在操作完成之前已过,或者服务器没有响应”的错误。我手动执行了存储过程,得到了类似“未知表'matched_temp'”的错误。匹配的_temp应该存在,因为必须有一些记录需要移动到匹配的_temp表中。不管怎样,我按照您的建议修改了代码,现在正在测试。匹配的\u TEMP应该存在,因为必须有一些记录需要移动到匹配的\u TEMP表中。无论如何,我按照你的建议修改了我的代码,现在我正在测试它。
CREATE TEMPORARY TABLE MATCHED_TEMP (
    ID INT
);
INSERT INTO MATCHED_TEMP
SELECT ID FROM CARDINOUT 
(...)