2013-05-12 2 views
0

Вот запрос, который я пытаюсь. Пожалуйста, не смейтесь, поскольку я в настоящее время невежественный, lol.Обновить запрос при изменении имени пользователя

UPDATE toondb SET tusername = (select username FROM user WHERE userid='1') WHERE (select username FROM user WHERE userid='1') != (select tusername from toondb where tuserid= '1') 

Я взбивал это, надеясь, что это сработает. Позвольте мне попытаться объяснить, пожалуйста.

У меня есть один стол, называемый «toondb». В toondb есть разные столбцы. В этом конкретном случае я сосредоточен на столбце «tusername» и «tuserid» в этой таблице.
Столбец «tusername» содержит имя пользователя пользователя, а столбец «tuserid» содержит идентификатор пользователя. Когда они отправляют информацию через форму, столбцы «tusername» и «tuserid» автоматически заполняются их именем пользователя и идентификатором пользователя на форуме.

Теперь другая таблица, «пользователь», является источником информации. В таблице «user» есть столбец «userid» и «username».
Мой идентификатор пользователя 1, и мое имя пользователя равно

Итак, у меня есть строка в таблице «toondb» для себя. В настоящее время для userid установлено значение 1 для моей строки (поскольку идентификатор пользователя никогда не изменяется). Однако для имени пользователя задано значение «Admin».

Ну, так как мое новое имя пользователя «все равно», и это не «админ», мне нужен запрос, который я могу настроить для автоматического запуска, который проверяет «toondb», чтобы совпадение всех пользователей с их именем tusername ,

например. Проверки toondb таблица Видит идент 1 Видит имя пользователя устанавливается в Проверки таблицы пользователя «Администратор» Видит идент 1 Видит имя пользователя теперь установлен в «любой» toondb Update, чтобы изменить их tusername к «независимо», где их userid - '1'.

Спасибо, если кто-нибудь может помочь .. Извините, если это действительно запутывает. Я пытался заставить звук звучать не так запутанно LOL. Я знаю основные MySQL, так что я могу задавать глупые вопросы, иногда ..; (

Просто для уточнения .. «tusername» и «tuserid» являются столбцы в toondb стол «имя пользователя» и «идента» являются столбцы в пользователя таблица значения в пользователя таблицы всегда будет точным. значение в колонке «Имя пользователя» в пользователя таблицы необходимо заполнить значения в столбце «tusername» в toondb стол с самой последней информацией. Да.

+0

почему имеющее имени пользователя в обеих таблицах, когда вы можете использовать ПРИСОЕДИНЯЙСЯ – igor

+0

также, его плохой стиль использования реляционных баз данных (см. https://en.wikipedia.org/wiki/Database_normalization) – igor

ответ

0

, как я заметил, вы должны избегать имени пользователя в обеих таблицах, но если это необходимо, вы можете использовать triggers для обновления имен пользователей, когда они изменились

+0

Как это сделать? У меня есть имя пользователя в обеих таблицах. Мне действительно нужен только идентификатор пользователя в обеих таблицах (и я могу выбрать имя пользователя из таблицы пользователя, где UserID = '$ userid'), но это будет дополнительный запрос и может занять больше времени, чтобы страница php создавалась именно так. Итак, я делаю это так :) Мне просто нужно выяснить, какой запрос я могу использовать для обновления своего имени пользователя в таблице «toondb», если он изменился в таблице «user», но UserID тот же. Спасибо – llw