Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???

Iniciado por l337*, 12 Julio 2011, 22:04 PM

0 Miembros y 1 Visitante están viendo este tema.

l337*

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 (sql) [Seleccionar]

bd1.usuarios
+-----------------------+
| Field                 |
+-----------------------+
| id                    |
| nombre                |
| usr                |
| pwd                   |
| admin_lvl             |
| campo_abc             |
+-----------------------+

bd2.usuarios

+-----------------------+
| Field                 |
+-----------------------+
| id                    |
| nombre                |
| usr                |
| pwd                   |
| campo_aleatorio       |
+-----------------------+



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

Shell Root

Quizás pero yo no es que programe mucho en MySQL, pero si fuera vos, lo haría en PHP.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

l337*

Cita de: 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.

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:

Cita de: l337* en 12 Julio 2011, 22:04 PM

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


seria:

Código (sql) [Seleccionar]

SELECT `table_schema` as DB, `table_name` as `table` FROM `information_schema`.`TABLES` WHERE `table_name`='users'


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