2009-10-23 12 views
15

Los nombres de tabla en mi base de datos mysql se generan dinámicamente. ¿Hay alguna forma de seleccionar datos de tablas que tienen un nombre que coincida con un patrón? Supongo que se verá así:Uso de comodines en el nombre de la tabla mysql

select * from 'table_id_%' 
+0

No, pero puede usar una solución de dos pasos donde selecciona el resultado de una búsqueda para el nombre de tabla 'like' en su esquema de información – Mawg

Respuesta

10

No, no se puede hacer eso con MySQL. Las tablas de una consulta no se pueden especificar dinámicamente; debe compilar la lista en su aplicación (o realizar varias consultas de tabla única).

2

Eso no es posible en la forma en que te gustaría hacerlo. Sin embargo, probablemente podría usar prepared statements que son básicamente plantillas de consulta donde especifica los parámetros (AFAIK también nombres de tabla) que se reemplazan dependiendo de sus necesidades sin copiar y pegar la misma consulta una y otra vez para tablas diferentes.

7

Puede usar la tabla INFORMATION_SCHEMA TABLES para encontrar las tablas que desee, aquí hay documentación: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html. La tabla TABLAS tiene la columna NOMBRE que representa los nombres de las tablas. Después de encontrar los nombres de las tablas, puede ejecutar cualquier consulta SQL que desee.

Cuestiones relacionadas