Как автоматически добавить в SQL-запрос префиксы таблицам?

*
0
*
✩
Если одну базу использует несколько проектов, разумно делать всем таблицам префиксы, чтобы названия не перекрещивались. Подскажите алгоритм\регулярку, чтобы можно было всем таблицав SQL-запрове автоматически проставить указанный префикс.

upd: На PHP. То есть у нас есть строка типа:
SELECT * FROM table
или посложней с иннерами и всем прочим.

upd to Magz: Имена таблиц могут пересекаться, я ж не знаю, что там понапишет программер какого-нить модуля. Правда не знаю, к чему был вопрос...
sql префикс regexp
7 месяцев 11 дней назад

#ссылка не по теме? tweet сохранить
А на каком уровне? На уровне формирования запросов в php или уже в самом MySQL? – Magz 7 месяцев 11 дней назад
Достаточно странный вопрос, учитывая то, что первоначально таблицы и префиксы таблиц при грамотной организации указываются в виде конфигурации. И дальнейшая организация запросов происходит с помощью или конструкторов запросов или же попросту с учетом "переменных"-констант. – RayZ 7 месяцев 11 дней назад
Ну конструктор запросов писать не охото, а константы постоянно подставлять не удобно. – V-z-z-HobboT 7 месяцев 11 дней назад
А имена таблиц могут пересекаться или только имена полей? Т.е. возможен запрос вида SELECT * FROM table JOIN table ON ... ? – Magz 7 месяцев 10 дней назад
2Magz: Написал для Вас апдейт. – V-z-z-HobboT 7 месяцев 10 дней назад
комментировать



*
0
*
Вам нужно использовать в запросах какой-то плесхолдер, например SELECT * FROM #__table. и выполнять все запросы через какой-то единый метод/функцию. Сделайте например класс MyDB в нем статичный метод query(). Например:
class MyDB {
public static function query( $s ) {
$s = str_replace('#_', 'prefix', $s );
return mysql_query( $s );
}
}

Соотв. вызов <?php MyDB::query('SELECT * FROM #__table'); ?> будет преобразован в SELECT * FROM prefix_table;
#ссылка не по теме?
7 месяцев 10 дней назад
dima
[169]
С таким же успехом я могу писать в запросе "select * from ".PREFIX."table", где define("PREFIX", "blablabla_"); – V-z-z-HobboT 7 месяцев 10 дней назад
Комментировать

Ваш Ответ:


Ваш OpenID


Получить OpenID

Что такое OpenID?
или

Логин

Email

Пароль


Будет создана учетная запись и на email выслано письмо подтверждения.


новые ответы

Первый раз на сайте?

askdev.ru — это социальный сайт вопросов и ответов для IT-специалистов: программистов, веб-дизайнеров, системных администраторов.
о сайте » регистрация »

Показан

408 раз

Задан

7 месяцев 11 дней назад

Теги
sql x 68
префикс x 2
regexp x 42
X

Пожалуйста, войдите:


Имя:
Пароль:
регистрация
Или используйте OpenID