sql >> Base de Datos >  >> RDS >> Mysql

MySql - ¿Crear tabla si no existe sino truncar?

shmuel613, sería mejor actualizar su pregunta original en lugar de responder. Es mejor si hay un solo lugar que contenga la pregunta completa en lugar de tenerla dispersa en una discusión.

La respuesta de Ben es razonable, excepto que parece tener un 'no' donde no quiere uno. Dejar caer la mesa solo si no existir no está del todo bien.

De hecho, necesitará varias declaraciones. Crea condicionalmente y luego rellena:

  1. CREAR UNA TABLA TEMPORAL SI NO EXISTE fubar (id int, nombre varchar(80))
  2. Fubar de TABLA TRUNCADA
  3. INSERTAR EN fubar SELECCIONAR * DESDE barfu

o simplemente suelta y vuelve a crear

  1. ELIMINAR TABLA SI EXISTE fubar
  2. CREAR TABLA TEMPORAL fubar SELECCIONAR id, nombre DESDE barfu

Con SQL puro, esas son sus dos clases reales de soluciones. Me gusta más el segundo.

(Con un procedimiento almacenado, podría reducirlo a una sola declaración. Algo así como:TruncateAndPopulate(fubar) Pero cuando escriba el código para TruncateAndPopulate(), pasará más tiempo que solo usando el SQL anterior).