Mysql 1314-存储过程中不允许使用锁

Mysql 1314-存储过程中不允许使用锁,mysql,Mysql,我有生产中的TB_事件_日志表,我需要将该生产数据传输到同一服务器上的虚拟表中,并截断生产表。同时我要锁定生产表。 我是db的新手,有谁能提出有效的方法来做同样的事情吗 CREATE event transfer_data ON SCHEDULE EVERY 12 hour STARTS CURRENT TIME_STAMP DO BEGIN LOCK TABLE TB_EVENT_LOG WRITE; INSERT INTO TB_EVENT_LOG_dummy SELECT * FROM

我有生产中的TB_事件_日志表,我需要将该生产数据传输到同一服务器上的虚拟表中,并截断生产表。同时我要锁定生产表。 我是db的新手,有谁能提出有效的方法来做同样的事情吗

CREATE event transfer_data
ON SCHEDULE EVERY 12 hour
STARTS  CURRENT TIME_STAMP
DO
BEGIN

LOCK TABLE TB_EVENT_LOG WRITE;
INSERT INTO TB_EVENT_LOG_dummy SELECT * FROM TB_EVENT_LOG ;
UNLOCK TABLES;
TRUNCATE TABLE TB_EVENT_LOG;


END |
DELIMITER ;

为了确保只从生产表中删除复制的记录,可以使用事务而不是表锁定

例如


什么操作系统?桌子引擎?还有像PHP、Perl或Python这样的编程语言吗?我想你指的是ubuntu。。然后应该可以制作一个cronjob,并从终端使用mysql程序执行mysql查询。。类似于mysql-u user-p passwordSTART TRANSACTION; INSERT INTO TB_EVENT_LOG_dummy SELECT * FROM TB_EVENT_LOG ; TRUNCATE TABLE TB_EVENT_LOG; COMMIT;