Mysql
 sql >> Database >  >> RDS >> Mysql

MySql - Crea tabella se non esiste Altro Troncare?

shmuel613, sarebbe meglio aggiornare la tua domanda originale piuttosto che rispondere. È meglio se c'è un unico punto che contiene la domanda completa piuttosto che disporla in una discussione.

La risposta di Ben è ragionevole, tranne per il fatto che sembra avere un "non" dove non ne vuole uno. Eliminazione della tabella solo se non esistere non è del tutto corretto.

Avrai davvero bisogno di più dichiarazioni. O crea in modo condizionale e poi compila:

  1. CREA TABELLA TEMPORANEA SE NON ESISTE fubar ( id int, name varchar(80) )
  2. TRONCO TAVOLA fubar
  3. INSERISCI IN fubar SELEZIONA * DA barfu

o semplicemente rilascia e ricrea

  1. TAVELLA A CADUTA SE ESISTE fubar
  2. CREA TABELLA TEMPORANEA fubar SELECT id, name FROM barfu

Con SQL puro quelle sono le tue due vere classi di soluzioni. Mi piace di più il secondo.

(Con una procedura memorizzata potresti ridurla a una singola istruzione. Qualcosa come:TruncateAndPopulate(fubar) Ma quando scrivi il codice per TruncateAndPopulate() trascorrerai più tempo rispetto al semplice utilizzo dell'SQL sopra.)