mysql.h


DROP TABLE

DROP [TEMPORARY] TABLE [IF EXISTS]
    tbl_name [, tbl_name] ...
    [RESTRICT | CASCADE]

DROP TABLE elimina una o más tablas. Se debe poseer el privilegi DROP para cada una de las tablas. Se eliminan tanto los datos que contengan y las definiciones de las tablas, así que hay que tener cuidado con esta sentencia.

En MySQL 3.22 y posteriores, se pueden usar las palabras clave IF EXISTS para evitar el error que ocurriría al intentar eliminar tablas que no existan. Desde MySQL 4.1, se genera una nota para cada tabla inexistente cuando se usa IF EXISTS. Ver SHOW WARNINGS.

Se permite el uso de RESTRICT y CASCADE para hacer más sencilla la portabilidad. Pero por el momento, no hacen nada.

Note: DROP TABLE completa la transacción activa actual automáticamente, a no ser que se esté usando MySQL 4.1 o posterior y la palabra clave TEMPORARY.

La palabra clave TEMPORARY se ignora en MySQL 4.0. Desde la versión 4.1, tiene el efecto siguiente:

  • La sentencia elimina sólo tablas temporales (TEMPORARY).
  • La sentencia no termina ninguna transacción en curso.
  • No se verifican derechos de acceso. (Una tabla temporal sólo es visible para el cliente que la ha creado, de modo que no es necesaria la verificación.)

Usar TEMPORARY es una buena forma de asegurar que no se eliminará una tabla no temporal de forma accidental.