用户名更改时更新查询

时间:2013-05-12 23:11:25

标签: mysql sql select username

这是我正在尝试的查询:

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'列包含用户的用户ID。当他们通过表单提交信息时,'tusername'和'tuserid'列将在论坛上自动填充其用户名和用户ID。

现在,另一个表'user'就是信息的来源。 “用户”表格中有一栏“用户ID”和“用户名” 我的用户ID是1,我的用户名是

所以..我自己在'toondb'表中排了一排。我的行的userid当前设置为1(因为用户ID永远不会更改)。但是,用户名设置为“管理员”。

好吧,因为我的新用户名是'what'而且不再是'Admin',我需要设置一个查询,我可以设置为自动运行,检查'toondb'以使每个用户ID与其tusername匹配。

e.g。
检查toondb表
看到用户ID是1 看到的用户名设置为“管理员”
检查用户表
看到用户ID是1 看到用户名现在设置为'what' 更新的toondb将他们的tusername更改为用户标识为“1”的“任何”。

我知道基本的MySQL所以我有时会问愚蠢的问题..;(

只是澄清..
'tusername'和'tuserid'是 toondb 表中的列 'username'和'userid'是用户表中的列 用户表中的值始终准确无误。 用户表中“用户名”列中的值必须使用最新信息填充 toondb 表中“tusername”列中的值。

1 个答案:

答案 0 :(得分:0)

正如我评论的那样,你应该避免在两个表中都有用户名,但是如果有必要,你可以使用triggers在用户名更改时更新用户名