2012-06-11 26 views
5

Có thể viết thêm mã vào một bảng mysql sáng tạo mà sẽ làm cho nó thả chính nó sau khi X số lượng thời gian? Giống như một bảng tạm thời, nhưng nó sẽ kéo dài hơn.MYSQL Bảng thả sau x giờ

tôi cần phải tạo bảng cho các nhiệm vụ tạm thời, nhưng tôi cần họ kéo dài hơn một phiên

+0

bạn đang cố gắng đạt được điều gì? Một số hình thức bộ nhớ đệm? – mensi

+0

im tạo cách để mọi người tải tệp CSV lên. Sau khi tải lên, họ cần phải chọn nội dung nào cho trường nào và thao tác mọi thứ (tương tự như mailchimp hoặc theo dõi chiến dịch). tôi không thể thấy điều này làm việc với các bảng tạm thời bởi vì chúng cần phải có khả năng được thao tác, sau đó được chuyển và bỏ đi. Nhưng nếu ai đó không hoàn thành thủ tục đó, bệnh có bảng ngồi xung quanh đầy đủ dữ liệu – cardi777

Trả lời

4
CREATE EVENT myevt 
     ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR 
     DO 
     DROP TABLE IF EXISTS MyTable; 
1

Trong trường hợp của bạn với các tập tin CSV, tôi sẽ tham mưu chống tạo một bảng cơ sở dữ liệu trong quá trình thiết lập của bạn , kể từ đó đặt căng thẳng không cần thiết trên DBMS của bạn. Một cách tốt hơn để làm điều này sẽ là:

  1. Move tập tin được tải lên thư mục "đến"
  2. Parse đầu tiên vài byte của CSV để xác định số cột và dữ liệu bổ sung mà bạn cần
  3. Hãy để cho người dùng gán thứ tập tin CSV
  4. Read để DB trong cách ứng dụng của bạn cần nó
  5. Xóa tập tin

để dọn dẹp các tập tin CSV, bạn có thể sử dụng cronjob để xóa các tệp cũ: find /dir/with/csv/files -type f -cmin +TIMEINMINUTES -delete

Các vấn đề liên quan