Назад | Перейти на главную страницу

псевдоним таблицы (или 'символическая ссылка') в mysql

в MySQL5.1 есть ли способ сделать одну таблицу доступной под двумя разными именами? Я думаю о чем-то вроде символической ссылки на файловые системы Linux.

Я знаю, что есть

CREATE VIEW myview AS SELECT * FrOM mytable

вещь, но мне нужно не только ВЫБРАТЬ из обоих имен, но и удалить и т. д.

Вы можете спросить, почему я хочу это сделать? Речь идет о том, чтобы заставить работать коммерческое приложение с закрытым исходным кодом, которое ужасно запрограммировано (обычно имена таблиц все в нижнем регистре, но иногда они используют имена с заглавной буквы для одной и той же таблицы ...). О, это была бы другая идея: есть ли способ сказать MySQL не заботиться о заглавных буквах в именах таблиц (как в файловых системах Windows?)? это тоже поможет ...

... нашел ответ: lower_case_table_names, переменная. Поскольку это решение моей проблемы, но не ответ на мой вопрос (который все еще интересен), я пока не отвечаю на свой вопрос ...

Спасибо за понимание!

А.

Рассмотрите возможность изучения lower_case_table_names системная переменная.

Слой абстракции вроде Прокси MySQL мог бы здесь помочь.

Кажется, вы можете создавать обновляемые представления в mysql 5.0. Проверьте Вот, и найдите на странице "обновляемый".

Я не эксперт по внутреннему устройству mysql, но полагаю, что простое создание символических или жестких ссылок приведет к безумию. mysql, вероятно, кэширует состояние табличного файла по имени файла, и если 2 файла указывают на одни и те же данные, вы можете оказаться в ситуации, когда mysql изменит файл данных на одно «имя», но не на другое, что приведет к вопиющему повреждению.

Я думаю, что mysql Объединенные столы может быть ответом на ваш основной вопрос. Не самая лучшая производительность, но я думаю, что если вы создадите объединенную таблицу, которая указывает на существующую таблицу на локальном хосте, она будет работать.