Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: l337* en 12 Julio 2011, 22:04 pm



Título: Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???
Publicado por: l337* en 12 Julio 2011, 22:04 pm
Alo,

- Tengo un servidor MySQL (5.0.91) con múltiples bases de datos (~100).
- La mayoría de las BD, digamos el 85%, tienen una estructura diferente y algunas contienen una tabla llamada 'usuarios'.
- La tabla usuarios, en las BD que la tienen, el primer record siempre es el mismo (id=1, nombre=my-nombre, username=usr, pwd=pass) y la estructura puede o puede que no sea la misma, pero los campos mencionados siempre existirán. Ejemplo:

Código
  1. bd1.usuarios
  2. +-----------------------+
  3. | FIELD                 |
  4. +-----------------------+
  5. | id                    |
  6. | nombre                |
  7. | usr                |
  8. | pwd                   |
  9. | admin_lvl             |
  10. | campo_abc             |
  11. +-----------------------+
  12.  
  13. bd2.usuarios
  14.  
  15. +-----------------------+
  16. | FIELD                 |
  17. +-----------------------+
  18. | id                    |
  19. | nombre                |
  20. | usr                |
  21. | pwd                   |
  22. | campo_aleatorio       |
  23. +-----------------------+
  24.  
  25.  

Mi duda es la siguiente, ¿se puede ejecutar un solo query para alguno de los siguientes casos?:

- buscar la tabla 'usuarios' en todas las BD y regresar el nombre de la BD que la contenga
- actualizar el primer campo de la tabla usuarios en todas las BD que la contengan donde (id='1' AND nombre='my-nombre' AND usr='usuario')



mm.. espero haya sido clara mi pregunta.

Gracias de antemano

saludz


Título: Re: Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???
Publicado por: Shell Root en 12 Julio 2011, 23:42 pm
Quizás pero yo no es que programe mucho en MySQL, pero si fuera vos, lo haría en PHP.


Título: Re: Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???
Publicado por: l337* en 13 Julio 2011, 01:06 am
Quizás pero yo no es que programe mucho en MySQL, pero si fuera vos, lo haría en PHP.

lol... si, por lo pronto ando haciendo un script en php para eso, creo q apenas asi, pero aun tengo la curiosidad si se puede nativamente en mysql.

por cierto:


- buscar la tabla 'usuarios' en todas las BD y regresar el nombre de la BD que la contenga


seria:

Código
  1. SELECT `table_schema` AS DB, `table_name` AS `table` FROM `information_schema`.`TABLES` WHERE `table_name`='users'
  2.  

el campo 'table' es opcional para verificar que exista la tabla.