〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项〗 |
|
举个例子:网站会员系统,会员用户登录时会自动记录登录日志,时间长了,记录就多了,一般的会员用户可能不一定会去删除这些登录日志,这时可以用让程序来实现自动清除,代码如下:
<%
dim ACMA
set ACMA=Server.CreateObject("ADODB.Connection")
ACMA.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("数据库名称.mdb")
ACMA.Execute("delete from 表名 where ML_Member=10000000 and ML_ID not in (select top 10 ML_ID from 表名 where ML_Member=10000000 order by ML_ID desc)")
%>
把“表名”替换为数据库中的某个表的具体名称,ML_Member 是指定会员账号的编号,ML_ID 是“自动编号”的字段名,select top 10 的 10 是指保留的记录,10 以外的记录都会被删除。by ML_ID desc 是按“自动编号”的降序排列,这样就能把最新的记录保留,把较早的记录删除。如果不需要指定会员账号的编号,也不需要按降序排列,只要以下代码即可:
ACMA.Execute("delete from 表名 where ML_ID not in (select top 10 ML_ID from 表名)")
如果要改成按时间间隔来删除,比如,删除 10 分钟以前的记录,代码如下:
ACMA.Execute("delete from 表名 where DateDiff(""n"",MR_DateTime,now())>10")
MR_DateTime 是字段名,是该条记录添加时的时间,now() 是当前时间,两个时间对比,如果超过 10 分钟,就自动删除记录。
|
文章作者:啊估整理 更新日期:2013-11-20 |
〖文章浏览:〗〖打印文章〗〖发送文章〗 |
|
|
|