我现在mysql 一条数据插入后,有一个字段是记录的时间,如何的实现10天后自动的删除这条数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我现在mysql 一条数据插入后,有一个字段是记录的时间,如何的实现10天后自动的删除这条数据相关的知识,希望对你有一定的参考价值。

我现在mysql 一条数据插入后,有一个字段是记录的时间,如何的实现10天后自动的删除这条数据?

假设你的表名为test ,时间字段是createtime
通过mysql自带的定时事件去完成这个功能
delimiter $$
create event testevent on SCHEDULE every 1 day
begin
delete from testwhere unix_timestamp(date_format(createtime,'%Y-%m-%d'))-unix_timestamp(current_date())=10*24*3600;
$$
delimiter ;

每天定时去检测,删除数据库中写入事件距离今天10天的记录
参考技术A 定时执行计划,和SQL SERVER中的作业一样,

百度一下关于mysql定时执行计划的资料,很多的

将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新

例如:需要将A库中的1000条记录批量插入到B库中或更新B库中已存在的数据,具体需求如下:
1、数据库A和库B均有表T1、T2、T3三张结构一样的表,但A库和B库各表的记录字段值是不完全一样的,这三张表包含的部分字段分别是:
  T1:ID,TYPEID,SENDATA,MID,CHANNEL
  T2:ID,TYPEID,NAME,SENDATA,MID,CHANNEL
  T3:ID,TYPEID,RENEW,ARCLIST,YEARS
 三张表中T2表是主表,T1和T3表是附表,三张表的数据通过ID相互关联,各库每条记录的数据分别存放在T2和T3表中,也就是说表T2和T3的数据整合在一起才能得到一条记录的完整数据,而T1主要是生成记录ID的表,即向T1中插入除ID以外的其他字段值时,该表将会递增自动生成新的ID;
2、将A库中字段NAME和YEARS相同的记录插入到B库中,如B库中不存在相同的记录则批量插入新的记录,如存在则不插入,而批理更新B库T3表中相同记录的RENEW字段值;(注:A库和B库的各记录ID值是不一定相同的,即使两库中存在相同的记录,该记录的ID值也不一定相同,因此,须首先向B库中的T1表插入数据,让T1表生成新的ID值,然后再分别向B库中的T2和T3表插入数据,而T2和T3表的ID值须从B库中的T1表获得,否则会出现ID主键值重复的错误)
烦请按上述举例的内容写出SQL语句,该SQL语句须能在phpMyAdmin中运行,谢谢!!
一楼回复的朋友,你写的语句,看不明白呀,感觉不是SQL语句(我是初学者,也许说错了),能否进行详细的说明。

参考技术A 1. Copy the Driver jar file to server/default/lib
2. Delete hsqldb-jdbc-state-service.xml and hsqldb-jdbc2-service.xml in
deploy/jms
3. Copy doc/examples/jms/ mysql-jdbc2-service.xml to deploy/jms

以上是关于我现在mysql 一条数据插入后,有一个字段是记录的时间,如何的实现10天后自动的删除这条数据的主要内容,如果未能解决你的问题,请参考以下文章

mysql insert一条记录后 返回创建记录主键id的方法

mysql删除重复数据,保留一条

oracle 如何获得新插入记录的id

oracle数据库,表中有id(自增字段,主键), insert 语句插入一条记录后要求,返回当前插入记录的id値。

将MYSQL某一数据库中的多条记录批量插入到另一MYSQL数据库时,记录不存在则插入,存在则更新

mysql表里数据分类,分类后显示每组分类里面第一条记录