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:
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
Quizás pero yo no es que programe mucho en MySQL, pero si fuera vos, lo haría en PHP.
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:
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.