5

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

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

4

2 回答 2

4
CREATE EVENT myevt
        ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
        DO
         DROP TABLE IF EXISTS MyTable;
于 2012-06-11T12:42:37.007 回答
1

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

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

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

于 2012-06-11T12:54:36.783 回答