4 个解决方案
#1
#2
1、insert和delete同时提交,别分开commit,容易造成数据插入了,但是临时表未删除,造成数据重复
2、另外delete最好加上范围,限定只删除刚刚插入到正式表的数据
因为insert的过程中临时表可能又进新数据了,这样的数据最终就会丢失了
看你目前表的状态,这些字段没办法限定范围,建议在临时表中加入数据插入日期的字段
2、另外delete最好加上范围,限定只删除刚刚插入到正式表的数据
因为insert的过程中临时表可能又进新数据了,这样的数据最终就会丢失了
看你目前表的状态,这些字段没办法限定范围,建议在临时表中加入数据插入日期的字段
#3
刚试了一下,如果按照你的这种方式,很容易导致临时表与主表中的数据不一致,在向主表插入数据的时候临时表没有锁住,仍旧可以插入数据
可以如楼上所说,插入和删除同时提交,保证一致性
可以如楼上所说,插入和删除同时提交,保证一致性
#4
写一个存储过程放在一起操作,分开写容易造成数据不一致,另外删除表的所有数据(如果数据量很大),建议使用truncate table
#1
#2
1、insert和delete同时提交,别分开commit,容易造成数据插入了,但是临时表未删除,造成数据重复
2、另外delete最好加上范围,限定只删除刚刚插入到正式表的数据
因为insert的过程中临时表可能又进新数据了,这样的数据最终就会丢失了
看你目前表的状态,这些字段没办法限定范围,建议在临时表中加入数据插入日期的字段
2、另外delete最好加上范围,限定只删除刚刚插入到正式表的数据
因为insert的过程中临时表可能又进新数据了,这样的数据最终就会丢失了
看你目前表的状态,这些字段没办法限定范围,建议在临时表中加入数据插入日期的字段
#3
刚试了一下,如果按照你的这种方式,很容易导致临时表与主表中的数据不一致,在向主表插入数据的时候临时表没有锁住,仍旧可以插入数据
可以如楼上所说,插入和删除同时提交,保证一致性
可以如楼上所说,插入和删除同时提交,保证一致性
#4
写一个存储过程放在一起操作,分开写容易造成数据不一致,另外删除表的所有数据(如果数据量很大),建议使用truncate table