Tengo una .archivo sql que borrar la caché de datos en mysql esquema antes de la exportación, ya que los datos almacenados en caché en estas tablas es inútil cuando importo el archivo de exportación a un servidor diferente. Puedo utilizar esta secuencia de comandos en varios sitios, pero en algunos casos ciertos tabla no existen porque no son necesarios. ¿Cómo puedo sólo truncar una tabla en MySQL si solo que la tabla existe?

TRUNCATE accesslog;
TRUNCATE cache;
TRUNCATE cache_block;
TRUNCATE cache_bootstrap;
TRUNCATE cache_customfilter;
TRUNCATE cache_field;
TRUNCATE cache_filter;
TRUNCATE cache_form;
TRUNCATE cache_image;
TRUNCATE cache_menu;
TRUNCATE cache_metatag;
TRUNCATE cache_page;
TRUNCATE cache_path;
TRUNCATE cache_token;
TRUNCATE cache_update;
TRUNCATE cache_views;
TRUNCATE cache_views_data;
TRUNCATE watchdog;

Gracias de antemano.

Supongo que IF EXISTS TRUNCATE TABLE table_name
(1) vivir con los errores (2) crear las tablas en todas partes, incluso en este .sql (crear si no existe…) (3) escribir una pequeña aplicación que comprueba antes de truncar.
fresco. Pensé que estaba siendo grosero. Pero veo lo que quieres decir ahora.
bien, usted me puso en un camino, para que yo te lo agradezco. He comentado tu respuesta ¿qué alteraciones se deben hacer para hacer que se realice el trabajo.

OriginalEl autor Desmond Liang | 2014-08-19

1 Comentario

  1. -1

    Ver esta respuesta sobre el Uso de la Instrucción IF para hacer un condicional insertar:

    Se puede hacer lo mismo con la norma ANSI INFORMATION_SCHEMA

    IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'accesslog')
        TRUNCATE accesslog
    No omitir que (a) este debe estar en una función o procedimiento (b) usted necesita un & END IF (c) LLAMAR al procedimiento y (d) SOLTAR el procedimiento.
    Por favor, siéntase libre de modificar la respuesta. Gracias
    y si usted tiene una segunda base de datos con una tabla llamada accesslog, vas a tener un mal momento.

    OriginalEl autor Preet Sangha

Dejar respuesta

Please enter your comment!
Please enter your name here