这是我正在尝试的查询:
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”列中的值。