2012-06-11 5 views
5

È possibile scrivere codice aggiuntivo in una creazione di tabella mysql che lo farà cadere dopo X quantità di tempo? Come un tavolo temporaneo, ma durerà più a lungo.MYSQL Caduta della tabella dopo x ore

Ho bisogno di creare tabelle per attività temporanee, ma ho bisogno di loro di durare più di una sessione di

+0

cosa stai cercando di ottenere? Qualche forma di caching? – mensi

+0

im creare un modo per le persone per caricare file CSV. Una volta caricati, hanno bisogno di scegliere quale contenuto per quale campo e manipolare le cose (simile a mailchimp o monitor della campagna). Non riesco a vederlo funzionare con tabelle temporanee perché devono essere in grado di essere manipolati, quindi trasferiti e rilasciati. Ma se qualcuno non termina quella procedura, è malato avere tavoli seduti in giro pieno di dati – cardi777

risposta

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

Nel tuo caso con i file CSV, vorrei consigliare contro la creazione di una tabella di database durante il processo di installazione , dal momento che mette stress inutile sul tuo DBMS. Un modo migliore per fare questo sarebbe:

  1. Sposta file caricato nella directory "incoming"
  2. Parse primi byte di CSV per determinare il numero di colonne e di dati aggiuntivi è necessario
  3. permettere all'utente di assegnare roba
  4. Leggi file CSV da DB nel modo in cui l'applicazione lo richiede
  5. Elimina file

per la pulizia dei file CSV, è possibile usa un cronjob per cancellare vecchi file: find /dir/with/csv/files -type f -cmin +TIMEINMINUTES -delete