200分请高手帮忙!php程序采集动态js数据,最近常有重复记录入库,但程序本来有判断记录已存在就不插入
总哈哈 2008-03-27 04:56:12 表名为table1,主键id,auto_increment,这个应该没有问题。
一直这个采集程序都运行很好,每条记录都是唯一,就最近才有些数据有重复记录。
程序本来有判断如果记录已存在不插入,判断如果字段a,b,c相同即为相同的记录,不插入。
之前还有个采集进程条,发生重复事件后怀疑是进程条的原因,就把进程条删除了,可是结果还是一样。
被重复的记录没有任何规律或者特征,但是基本都是id隔得很近的,比如id为2222,2223,2224或者2222,2225这样.
所以个人猜测是不是我要采集的js数据在快速跳动?比如:有两条一模一样的数据插入库,因为时间很短也就几毫秒,在第一条插入还没有完成以前,第二条select没有查找到相同数据,也进行插入操作,结果库中就有两条一模一样的数据了。纯属个人猜测。
非常期待高手出来帮忙了!如果最后没有解决,就按照贡献大小分这200分吧,如果可以这样散分的话。
另外,本来想写个sql语句暂时删除这些重复的记录吧,可是却出错了,出错提示如下:
You can't specify target table 'table1' for update in FROM clause
sql语句如下:
delete from table1
where id in (
select table1.id from table1,(select min(id) as minid,a,b,c from table1
group by a, b,c) as table2
where table1.a = table2.a
AND table1.b = table2.b
AND table1.c = table2.c
AND table1.id <> table2.minid
)
不知道错在哪里?