這是我正在嘗試的查詢。 請不要笑,因爲我目前無能爲力,哈哈。用戶名更改時更新查詢
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」列會在論壇上自動填入他們的用戶名和用戶ID。
現在,另一個表'user'是信息的來源。 'user'表中有'userid'和'username'列。
我的用戶名是1,我的用戶名是
所以..我在自己的'toondb'表中有一行。用戶標識當前設置爲1(因爲用戶標識不會更改)。但是,用戶名被設置爲'Admin'。
好吧,由於我的新用戶名是'whatever',並且它不是'Admin'了,我需要設置一個自動運行的查詢來檢查'toondb',以使每個用戶的用戶名與他們的tusername匹配。
例如 檢查toondb表 看到用戶ID爲1 看到用戶名設置爲「管理員」 檢查用戶表 看到用戶ID爲1 看到用戶名現在被設置爲「任何」 更新的toondb他們tusername更改爲「什麼」,他們的用戶標識符是'1'。
謝謝,如果任何人都可以幫助..對不起,如果這真的很困惑..我試圖讓它聽起來不那麼混亂哈哈。 我知道基本的MySQL所以我有時..向愚蠢的問題;(
只是爲了澄清.. 「tusername」和「tuserid」是在toondb表 「用戶名」和「用戶ID」列是在用戶列表 在用戶表中的值將總是準確的。在用戶表中的列「用戶名」的值必須填充在toondb在「tusername」列的值附有最新信息的表。是的。:)
爲什麼有用戶名在兩個表中時,你可以使用JOIN – igor 2013-05-12 23:23:22
也,它使用關係數據庫的不良風格(請參閱https://en.wikipedia.org/wiki/Database_normalization) – igor 2013-05-12 23:24:29