x小时后MYSQL表丢失

Posted

技术标签:

【中文标题】x小时后MYSQL表丢失【英文标题】:MYSQL Table drop after x hours 【发布时间】:2012-06-11 12:37:48 【问题描述】:

是否可以在 mysql 表创建中编写额外的代码,使其在 X 时间后自行删除?就像一个临时表,但它会持续更长时间。

我需要为临时任务创建表,但我需要它们比会话持续更长的时间

【问题讨论】:

你想达到什么目的?某种形式的缓存? 我正在为人们创建一种上传 CSV 文件的方式。上传后,他们需要为哪些字段选择哪些内容并进行操作(类似于 mailchimp 或活动监视器)。我看不到这与临时表一起使用,因为它们需要能够被操纵,然后被转移和删除。但是,如果有人没有完成该程序,那么表格就会摆满数据 【参考方案1】:
CREATE EVENT myevt
        ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
        DO
         DROP TABLE IF EXISTS MyTable;

【讨论】:

【参考方案2】:

在您使用 CSV 文件的情况下,我建议您不要在设置过程中创建数据库表,因为这会给您的 DBMS 带来不必要的压力。更好的方法是:

    将上传的文件移动到“传入”目录 解析 CSV 的前几个字节以确定您需要的列数和其他数据 让用户分配东西 以应用程序需要的方式将 CSV 文件读取到 DB 删除文件

为了清理 CSV 文件,您可以使用 cronjob 删除旧文件:find /dir/with/csv/files -type f -cmin +TIMEINMINUTES -delete

【讨论】:

以上是关于x小时后MYSQL表丢失的主要内容,如果未能解决你的问题,请参考以下文章

在数据库中存储日期时会丢失小时和秒[关闭]

grafana:过去 24 小时 - 转移和 2 小时丢失

使用 Python mysql.connector 成功插入 MySQL 数据后丢失

Firebase - 一小时后丢失身份验证会话

MySQL 回滚事务与丢失/断开连接

Mysql - 使用多个连接表查找丢失的日期