作者you7 (you)
看板Database
标题[SQL ] 因为时间差造成的资料重复汇入
时间Mon Mar 24 15:05:19 2014
资料库名称:mysql
内容/问题描述:
我的资料表有三栏 四笔资料
a b c
1 3.1 .....
2 3.1 .....
3 3.1 .....
4 3.1 .....
a是流水号;b是日期(月.日);c是资料
我在php写一个简单的判断式
------------------------------------------
if (现在日期!=资料库b栏日期) {
清空资料表;
重新汇入资料;
}
for i=1;i<5;i++
echo c[i]; //汇出c栏资料
------------------------------------------
我的问题是,汇入资料需要10至15秒左右。
这段期间,重新整理网页,或是有多人浏览这个网页。
资料表就会被重复汇入,流水号的顺序就会1,2,3,1,4,2,3,4
虽然for回圈,遇到a两笔重复资料只会echo一笔,
网页上看不出来重复汇入的问题,除了资料表乱了些外,没有什麽大碍。
我想破头,还是想不出阻止重复汇入的机制。
有人可以提供一些点子吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.232.150.161
1F:推 TeemingVoid:批次汇入前,先lock table 资料表 write,完成後, 03/25 11:16
2F:→ TeemingVoid:unlock tables 另一个方式,叫用 get_lock() 与 03/25 11:16
3F:→ TeemingVoid:release_lock() 自行设计交通号志。 03/25 11:16
4F:推 jonce007:php开档案,做完删除。要执先行若档案存在则不执行 03/27 18:59
5F:→ jonce007:^^^^^^^^^^^^^^^^^^^^^^^^^前 03/27 19:00
6F:→ f1234518456:写入一个锁定值到Application中 用来判断是否在写入中 03/31 10:23