MySQL事件调度器
我设置了1个mysql事件,每12小时将带有MySQL事件调度器,mysql,mysql-event,Mysql,Mysql Event,我设置了1个mysql事件,每12小时将带有0标志的所有数据从一个表传输到另一个表(表2),然后更新查询,将传输后的标志设置为1插入和更新在一个事件进程上 我的问题是,表2上所有传输的数据都有重复数据,看起来好像2事件正在运行 有什么想法吗 以下是我的活动代码: DELIMITER | CREATE EVENT IF NOT EXISTS event_transfer ON SCHEDULE EVERY 12 HOUR STARTS '2018-08-10
0
标志的所有数据从一个表传输到另一个表(表2),然后更新查询,将传输后的标志设置为1
<代码>插入和更新
在一个事件进程上
我的问题是,表2上所有传输的数据都有重复数据,看起来好像2事件正在运行
有什么想法吗
以下是我的活动代码:
DELIMITER |
CREATE
EVENT
IF NOT EXISTS
event_transfer
ON SCHEDULE EVERY 12 HOUR
STARTS '2018-08-10 06:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
BEGIN
INSERT INTO dbsample.tblmirror (Column1, Column2, Column3)
(SELECT Column1, Column2, Column3
FROM tblmaster
WHERE is_transfer = 0);
UPDATE dbsample.tblmaster
SET is_transfer = 1
WHERE is_transfer = 0;
END |
DELIMITER;
引用鲑鱼:
没有重复的事件,简单的代码,没有触发器-我怀疑问题就在这里
鲑鱼就在这里,如果你知道还有什么别的工作可以做这件事,那就好了。但是,您也可以通过另一种方式避免此问题。既然你不想有重复的,有一种方法可以检测重复的,对吗?不管怎样,这3列的组合必须是唯一的,或者其他什么,然后在数据库中指出这一点 在列上创建唯一索引(或主键),使每一行都是唯一的 这样,你就不用简单的插入了,你就不用再重复了 引述: 如果使用IGNORE修饰符,则会忽略执行INSERT语句时发生的错误。例如,在不忽略的情况下,复制表中现有唯一索引或主键值的行将导致重复键错误,语句将中止。使用IGNORE时,将丢弃该行,并且不会发生错误。忽略的错误可能会生成警告,但重复的键错误不会
当您显示事件时,是否只有1个?请发布您的事件代码。是的,我已经检查了它,只有1个。然后发布所有代码并创建表语句。我已经更新了我的发布