如何将 SQL 记录中一个字段的值更改为另一个 table 中的值?
How do I change the value of one field in SQL record to a value from another table?
首先,如果这是一个有点愚蠢的问题,我很抱歉。我检查了类似措辞问题中的内容,例如“如何使用另一个 table 的值更新一个 table 的字段”,但内容似乎与我正在尝试做的不符。
假设我有一个名为 site_users 的 table:
user_id
login
password
user_id2
2
user
password
1
7
access
xyz
2
11
otherlogin
abc
3
15
somebody
defg
4
22
user
qwert
5
然后我在同一个数据库中有很多其他 tables,它们有一些不同名称的列实际上对应于“[=31=”的“user_id” ]" table。没有关系集或类似的东西。我想将其他 table 字段中的值更改为 user_id2。假设我有一个 table: user_options:
admin_id
perms1
perms2
2
1
12139389
7
1
13232111
我想改成:
admin_id
perms1
perms2
1
1
12139389
2
1
13232111
我该怎么做?这是我第一次做除了使用一些正则表达式简单地大量更改文本之外的任何事情:/
如果我正确理解了你的问题,你应该能够按照 table1 是顶部 table 和 table2 是 table 你正在尝试的地方进行操作更新:
更新 table2 t 设置 admin_id = (select user_id2 来自 table1 其中 user_id = t.admin_id )
首先,如果这是一个有点愚蠢的问题,我很抱歉。我检查了类似措辞问题中的内容,例如“如何使用另一个 table 的值更新一个 table 的字段”,但内容似乎与我正在尝试做的不符。
假设我有一个名为 site_users 的 table:
user_id | login | password | user_id2 |
---|---|---|---|
2 | user | password | 1 |
7 | access | xyz | 2 |
11 | otherlogin | abc | 3 |
15 | somebody | defg | 4 |
22 | user | qwert | 5 |
然后我在同一个数据库中有很多其他 tables,它们有一些不同名称的列实际上对应于“[=31=”的“user_id” ]" table。没有关系集或类似的东西。我想将其他 table 字段中的值更改为 user_id2。假设我有一个 table: user_options:
admin_id | perms1 | perms2 |
---|---|---|
2 | 1 | 12139389 |
7 | 1 | 13232111 |
我想改成:
admin_id | perms1 | perms2 |
---|---|---|
1 | 1 | 12139389 |
2 | 1 | 13232111 |
我该怎么做?这是我第一次做除了使用一些正则表达式简单地大量更改文本之外的任何事情:/
如果我正确理解了你的问题,你应该能够按照 table1 是顶部 table 和 table2 是 table 你正在尝试的地方进行操作更新:
更新 table2 t 设置 admin_id = (select user_id2 来自 table1 其中 user_id = t.admin_id )