Использование подстановочных знаков в имени таблицы MySQL - PullRequest
15 голосов
/ 23 октября 2009

Имена таблиц в моей базе данных mysql генерируются динамически. Есть ли способ выбрать данные из таблиц, имена которых соответствуют шаблону? Я думаю, это будет выглядеть так:

select * from 'table_id_%'

Ответы [ 3 ]

10 голосов
/ 23 октября 2009

Нет, вы не можете сделать это с MySQL. Таблицы в запросе не могут быть заданы динамически - вы должны создать список в своем приложении (или выполнить несколько запросов из одной таблицы).

7 голосов
/ 23 октября 2009

Вы можете использовать таблицу INFORMATION_SCHEMA TABLES, чтобы найти нужные таблицы, вот документация: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html. Таблица TABLES имеет столбец NAME, который представляет имена таблиц. После нахождения имен таблиц вы можете запускать любые SQL-запросы, которые вам нравятся.

2 голосов
/ 23 октября 2009

Это невозможно, если вы хотите это сделать. Однако вы, вероятно, могли бы использовать подготовленные операторы , которые в основном являются шаблонами запросов, где вы указываете параметры (AFAIK также имена таблиц), которые заменяются в зависимости от ваших потребностей без копирования и повторного вставления одного и того же запроса для разных столы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...