| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1470 人关注过本帖
标题:如何在SELECT... FROM... WHERE代码中增加识别新旧功能
只看楼主 加入收藏
cluna2013
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2013-3-2
收藏
得分:0 
评价:
第一
SELECT files1.* FROM files1 WHERE !files1.修改时间 in (SELECT 修改时间 FROM files2)
这段代码速度非常快,但是不能辨别时间差异究竟哪个是新的,所以有风险;另外,如果相同的文件放在不同的子目录中,它也会忽视;
第二
m.older = 'files1'
m.newer = 'files2'
SELECT a.* FROM (m.newer) a ;
    inner join (m.older) b on a.子目录 == b.子目录 and a.文件名 == b.文件名 ;
    where a.修改时间 > b.修改时间
这段代码使用==达到精准的效果,不过速度明显变慢,也会无视新增加的文件;
第三
SELECT a.* FROM (m.newer) a ;
    left join (m.older) b on a.子目录 == b.子目录 and a.文件名 == b.文件名 ;
    where (a.修改时间 > b.修改时间) or (b.文件名 is null)
或者
SELECT a.* FROM (m.newer) a ;
    inner join (m.older) b on a.子目录 == b.子目录 and a.文件名 == b.文件名 ;
    where a.修改时间 > b.修改时间 ;
union ;
SELECT a.* FROM (m.newer) a ;
    left join (m.older) b on a.子目录 == b.子目录 and a.文件名 == b.文件名 ;
    where b.文件名 is null
只要把b.文件名 is null加上去,就会出现更新一样的文件、并且修改时间也一样!
2022年9月23日12:05:48发现:
备份以后的文件,修改时间会出现略微变化,所以才会造成明明文件已经备份了,却还固执的认为没有更新!——不是代码的问题。


[此贴子已经被作者于2022-9-23 12:10编辑过]

2022-09-22 09:30
cluna2013
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2013-3-2
收藏
得分:0 
在两个盘同样目录中备份,总是扯不清楚,来回更新也无济于事,最后将旧的删除换成复制才解决问题。问题也许不是出在代码上。
文件备份.rar (8.95 KB)

公开这个小程序,大家可以下载使用,有问题可以拿出来讨论;有解决问题方案建议共享。
[b]2022年9月23日12:05:48发现:
备份以后的文件,修改时间会出现略微变化,所以才会造成明明文件已经备份了,却还固执的认为没有更新!——不是代码的问题。
[color=#FF0000]

最后还是改回到旧代码
SELECT files1.* FROM files1 WHERE !files1.修改时间 in (SELECT 修改时间 FROM files2)
这段代码除了分不清新旧,不但速度快,而且没新代码莫名其妙的毛病。
2022年9月28日20:25:06
[/color]

[此贴子已经被作者于2022-9-28 20:26编辑过]

2022-09-22 13:33
快速回复:如何在SELECT... FROM... WHERE代码中增加识别新旧功能
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017507 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved