@butingeorgiy
Web-программист

Получить название таблицы MySql?

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

При вводе логина и пароля юзер ищется во всех четырех таблицах. И теперь мне необходимо понимать в какой конкретно таблицы был найден юзер. Чтобы показать ему определенную страницу.

Четыре разные формы входа на сайте сделать нельзя по ТЗ (прихоть клиента)! Можно конечно в каждой таблице юзеров добавить столбец (например privileges) который будет принимать значение 1, 2, 3 или 4 в зависимости от типа юзера (обычный пользователь, администратор, поставщик и курьер). И так я могу определить какой тип юзера хочет зайти на сайт. Но может быть есть другой способ просто определить название таблицы в которой была найдена строка, если запрос был по нескольким таблица одновременно? (так сказать более элегантный способ)
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
serginhold
@serginhold
оно же не само магически ищется..
у тебя или 4 запроса к разным таблицам, тут вообще все понятно;
или как бы один запрос с union, где можно в каждый select в ручную добавить название таблицы
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
glaphire
@glaphire Куратор тега PHP
PHP developer
Делить юзеров на 4 таблицы это неправильно (и с точки зрения проектирования базы, и с точки зрения поддержки). Основные свойства юзеров можно хранить в одной таблице, а дополнительные свойства - в другой, с привязкой по юзер айди к первой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы