
一次取出表一中的所有记录(6W,不多),然后用 try 往表2里插,因为表2字段是唯一的,所以中间重复数据可能有出错的地方,出错则直接抛弃,不管它
select from table1
while(each rows){
try{
insert into table2
} catch ($e){
do nothing
}
}
先看你的数据库有多少个字节,如果字节总数少于255最方便。新建一个数据库tttdbf,就一个字段AA,字符型,宽度254。
打开你的数据库,输入命令
copy to temp sdf
use ttt
appe from temp sdf
修改temp库结构,增加字段recn(C型,10位,用来保存记录号),sl(N型,宽度1,保存相同记录的条数),ctrl+w退出表设计器
repl all recn with str(recn(),10),sl with 1
inde on AA to 123
total on AA to 123
use 123
数据库123就是没有重复记录的新表,里面的sl是记录有相同的重复数量,recn是相同的第一条记录位于原表的记录号。
如果原来的表总宽度大于255,小于509,可以再增加一个字段AB,先按AA字段TOTAL,再按AB字段TOTAL,然后把这样形成的两个新表的记录号都到老表标出,标出的记录拷贝出来就是无完全相同记录的表了。
补充问题和这原理一样,如果a和b字段相同的话,可以用上面的办法整理出两个temp表,temp1和temp2。先把temp1的所有记录都加上删除标记,把把b中有不一样记录的恢复,余下的就是所需。
sele 2
use temp2
sele 1
use temp1
dele all
go top
do while !eof()
sele 2
loca for !aa=aaa
if !eof()
sele 1
reca
endif
sele 1
skip
enddo
pack
这样temp1中的记录号代表的原a表的记录组成的新表就是询问者所需。
两个表的数据循环显示
如果表一的和表二的相同,就加一个颜色值,在html中让显示的字符加上颜色就可以区分了
如果要分部分显示,可以用数组暂存或数据库暂存数据,将相同的或不同的暂存下来,显示完一样后再显示另一样
以上就是关于如何快速的在Mysql数据库中的两个表比对数据并更新全部的内容,包括:如何快速的在Mysql数据库中的两个表比对数据并更新、vfp数据库两张相同结构的表如何进行数据比对!(在线等!)、如何比较两张数据库表的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)