Comunidad de diseño web y desarrollo en internet online

eliminar varias tablas mysql

Citar            
MensajeEscrito el 16 Dic 2009 06:58 pm
buenas tardes tengo un problema necesito eliminar varias tablas, he probado varias maneras y buscando en internet encontre este codigo:

Código MySQL :

$sql = ("SELECT 
           CONCAT(
                  'DROP TABLE',  
                   GROUP_CONCAT(TABLE_NAME)
           ) AS stmt 
           FROM information_schema.TABLES 
           WHERE TABLE_SCHEMA = 'prueba' AND TABLE_NAME LIKE 'cor%'");


el cual me funciona pero solo me muestra las tablas que comienzan por cor, el problema es que me las muestra no me las elimina, agradezco la ayuda. gracias

Por knodesign

22 de clabLevel



 

colombia

chrome
Citar            
MensajeEscrito el 17 Dic 2009 05:22 pm
:shock: por Dios esto es como quitarle un dulce a un bebé

Código MySQL :

DROP TABLE `tu_tabla`


asi se borran las tablas

Por enlinea777

22 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 05:26 pm
para varias tablas:

Código PHP :

mysql_query= ("DROP TABLE tutabla1;
           DROP TABLE tutabla2;
           DROP TABLE tutabla3;
           DROP TABLE tutabla4;
           DROP TABLE tutabla5;
           DROP TABLE tutabla6;
           DROP TABLE tutabla7;
           DROP TABLE tutabla8;");

Por enlinea777

22 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 06:24 pm
la idea es que se borren dinamicamente es decir el usuario decide eliminar un tipo de registro, ejemplo caballero, y esa categoria tiene unas subcategorias como pueden ser camisa, pantalon, pantaloneta, etc..., y si decide borrar por completo las tablas que tienen como nombre:
caballerocamisa
caballeropantalon
caballeropantaloneta
y la idea es que al eliminar todas las tablas que comienzen por la palabra caballero ya que si son 1000 subcategorias seria complicado y demorado borrar 1 a 1, y con el codigo que inserte en el primer mensaje me devuelve dichas tablas asi:
ejemplo: DROP caballerocamisa,caballeropantalon,caballeropantaloneta
pero me muestra eso mas no se ejecuta la accion de eliminar. agradezco cual quier tipo de ayuda para guiarme y solucionar este problema.

Por knodesign

22 de clabLevel



 

colombia

chrome
Citar            
MensajeEscrito el 17 Dic 2009 06:41 pm
colocar las sub categorias en tablas es ilogico y estupido perdonando la palabra, por eso se utilizan baces de datos normalizadas.
deberias leer un poco: http://es.wikipedia.org/wiki/Normalizaci%C3%B3n_de_bases_de_datos

es mas facil hacer una base de datos relacionada.

por ejemplo una tabla que tenga las sub categorias y otra con las categorias y una tabla enmedio que haga la relacion, osea que tenga el ID la categoria y el ID de la sub_categoria. y asi para borrar las sub categorias solo tienes que eliminar los datos de la tabla que tengan el id de la categoria.

Por enlinea777

22 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Dic 2009 08:37 pm
Exactamente lo que te dice enlinea777, debes crear un Row nuevo para cada subcategoría dentro de la tabla subcategorias por ejemplo, no crear una tabla para cada uno. Imagino tendrás más problemas que las tablas del phpBB :P jaja

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 17 Dic 2009 08:57 pm
no tengo mas problemas solo es esta lo que sucede es que creo esas tablas porque en cada una se almanecenan una cantidad considerable de imagenes, y desde estas tablas se carga un pageflip en flash todo ya esta montado y funciona muy bien, la cuestion es que para administrar la pagina, crear secciones, subsecciones el usuario administra todo por eso es que necesito eliminar dichas tablas porque se crean dinamicamente y asi mismo se deben eliminar. gracias

Por knodesign

22 de clabLevel



 

colombia

chrome
Citar            
MensajeEscrito el 17 Dic 2009 10:33 pm
Debes borrar las tablas con DROP nombre_tabla; de una por una, en un solo query a la vez.

Si no te deja, es que el usuario con el que te conectas, no tiene permisos para borrar tablas.


saludos :cool:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 18 Dic 2009 06:35 am
Exactamente como te dice Dano, no existe una forma de borrar masivamente. De todas formas, puedes mandar a lo "animal" muuuchas sentencias drop para borrar. Total el parametro es un String, por lo cual lo puedes pasar directo: DROP $_GET['table']

De todas formas, sigo insistiendo, no es lo mejor. Ten en cuenta en la DB yo he llegado a almacenar 2.000.000 de registros sin tener el más mínimo problema. Por lo cual la cantidad de registros realmente no es un dilema. Sino más bien la cantidad de consultas, que es lo mismo lo hagas a una o a muchas (En realidad estoy 99% seguro que haciendola a muchas tablas la eficiencia bajaría considerablemente).

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 20 Dic 2009 07:56 am
esto parece un problema de diseño del la DB y de falta de experiencia con sql

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 08 Ene 2010 08:11 pm

knodesign escribió:

no tengo mas problemas solo es esta lo que sucede es que creo esas tablas porque en cada una se almanecenan una cantidad considerable de imagenes, y desde estas tablas se carga un pageflip en flash todo ya esta montado y funciona muy bien, la cuestion es que para administrar la pagina, crear secciones, subsecciones el usuario administra todo por eso es que necesito eliminar dichas tablas porque se crean dinamicamente y asi mismo se deben eliminar. gracias


No deberías guardar las imágenes en la BD, en todo caso, puedes almacenar el nombre de archivo y mostrarla formando su URL. Si deben protegerlas, usa otros métodos.

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

firefox
Citar            
MensajeEscrito el 08 Ene 2010 09:53 pm
ya pude solucionarlo muchas gracias por las ayudas y sugerencias .

Por knodesign

22 de clabLevel



 

colombia

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.