2015-06-27 3 views
1

У меня есть база данных с двумя таблицами. Первый содержит имя пользователя, user_password, user_email. Второй содержит имя пользователя, user_age, user_description.Как изменить значения двух таблиц автоматически (MySQL)?

Когда человек находит нужное пользователю имя пользователя, сценарий просматривает базу данных с использованием имени пользователя, чтобы выдать информацию о определенном пользователе.

Но если человек меняет свое имя пользователя через настройки, значение изменяется только в первой таблице.

Вопрос:

1) Есть ли способ сделать user_name во втором изменении таблицы автоматически? (Чтобы соединить их как-то)

Я использую MySQL (phpMyAdmin). Это простой пример. В «реальном мире» я пытаюсь управлять более серьезными приложениями, у которых больше таблиц. Есть ли более простой способ, чем создать отдельный php-запрос для каждой таблицы?

+0

Что вам нужно использовать, называется триггерами. https://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html – martynasma

ответ

1

Вы всегда можете создать триггер MySQL для таргетинга на одну строку для этого. See the manual. Скорее всего, это не , чем использование отдельных запросов PHP для таблиц. Вам не нужно описывать их всех, просто нарисуйте то, что нужно синхронизировать, и отрисуйте свой код.

Однако я бы рекомендовал вам использовать уникальное поле идентификатора для пользователя и сохранить только имя пользователя в одной из таблиц - и обратиться к пользователю с идентификатором под капотом вашего кода и в обеих таблицах , Не рекомендуется использовать что-то изменчивое как уникальный идентификатор в вашем проекте базы данных.

Смежные вопросы