
Renombrar Tabla
Publicado por Judith (1 intervención) el 19/02/2017 16:31:39
Hola,
por una cuestión ooperativa debo renombrar una tabla todos los días con la fecha del día, por ahora lo estoy haciendo en un script y actualizo el nombre en forma manual anres de ejecutar el script.
Estoy intentando automatizar el proceso, por lo cual he intentado ejecutar las siguientes lineas en el script:
Me tira el error en la instrucción del PREPARE, me fijé en el manual, y aunque no da ejemplos de esto indica que tanto las instrucciones RENAME y ALTER TABLE son soportadas por la instrucción PREPARE, pero en ambos caso tira el siguiente error:
Error de SQL (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?'
Entiendo que es un problema de sintaxis y que obviamente no acepta variables.
Mi pregunta es, hay alguna manera de hacer esto desde mysql sin necesidad de usar PHP?
Cualquier comentario o ayuda será bienvenido.
Gracias!
por una cuestión ooperativa debo renombrar una tabla todos los días con la fecha del día, por ahora lo estoy haciendo en un script y actualizo el nombre en forma manual anres de ejecutar el script.
Estoy intentando automatizar el proceso, por lo cual he intentado ejecutar las siguientes lineas en el script:
1
2
3
4
5
6
7
SET @Texto := CONCAT(LEFT(@Fecha, 4), LEFT(RIGHT(@Fecha, 5), 2), RIGHT(@Fecha, 2));
SET @Tabla := CONCAT('SERVIDOR.T', @Texto);
PREPARE RenombrarTablas
FROM 'ALTER TABLE SERVIDOR.TABLA RENAME ?';
EXECUTE RenombrarTablas
USING @Tabla;
DEALLOCATE PREPARE RenombrarTablas;
Me tira el error en la instrucción del PREPARE, me fijé en el manual, y aunque no da ejemplos de esto indica que tanto las instrucciones RENAME y ALTER TABLE son soportadas por la instrucción PREPARE, pero en ambos caso tira el siguiente error:
Error de SQL (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?'
Entiendo que es un problema de sintaxis y que obviamente no acepta variables.
Mi pregunta es, hay alguna manera de hacer esto desde mysql sin necesidad de usar PHP?
Cualquier comentario o ayuda será bienvenido.
Gracias!
Valora esta pregunta


0