2013-06-18 4 views
1

У меня есть две таблицы в моей базе данных PHP/MySQL. В таблице, в которой хранятся сведения о пользователях, имена пользователей и т. Д., А также хранимые изображения, которые пользователи загрузили вместе с именем пользователя, который загрузил это изображение. Но если пользователь меняет свое имя пользователя, он отлично меняет таблицу данных пользователя, но не в таблице загрузки изображений. Поэтому у меня может быть пользователь в таблице данных пользователя с одним именем пользователя, например tom12, но в таблице загрузки изображений у меня будет tom12 и все его предыдущие имена пользователей, когда он загрузил изображение, например Tom34, TMan и т. Д.Сделать одинаковый столбец в двух таблицах всегда имеют одинаковые данные?

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

+0

вы можете дать нам некоторое определение кода или таблицы –

ответ

3

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

Пример таблицы Пользователь идентификатор - INT имя - строка электронной почты - строка

Пример таблицы Image идентификатор - INT пользователя - INT IMAGE_URL - строка

USERS 
=================== 
ID NAME EMAIL 
1 joe [email protected] 
2 ben [email protected] 
3 jerry [email protected] 

IMAGES 
=================== 
ID USER IMAGE_URL 
1 1  http://somesite.com/images/mypic.jpg 
2 1  http://somesite.com/images/myotherpic.jpg 
3 1  http://somesite.com/images/funny.gif 
4 3  http://yahoo.xj/users/jk/personal/holiday.jpg 
+0

Спасибо, что сработало отлично – Danbyization

0

Во-первых: Нет необходимости получить ссылку на имя пользователя в таблице изображений. Вам нужно сделать ссылку поля ID как user_id в таблице изображений.

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

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