【问题标题】:How do I change the value of one field in SQL record to a value from another table?如何将 SQL 记录中的一个字段的值更改为另一个表中的值?
【发布时间】:2022-01-15 22:00:15
【问题描述】:

首先,如果这是一个愚蠢的问题,我很抱歉。我检查了类似措辞问题中的内容,例如“如何使用另一个表中的值更新一个表中的字段”,但内容似乎与我想要做的不匹配。

假设我有一个名为 site_users 的表:

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

然后我在同一个数据库中有很多其他表,其中有一些不同名称的列实际上与“site_users”表的“user_id”对应。没有关系集或类似的东西。我想将那些其他表的字段中的值更改为 user_id2。所以假设我有一个表:user_options:

admin_id perms1 perms2
2 1 12139389
7 1 13232111

我想改成:

admin_id perms1 perms2
1 1 12139389
2 1 13232111

我该怎么做?这是我第一次做任何事情,而不仅仅是使用一些正则表达式对文本进行简单的大规模更改:/

【问题讨论】:

    标签: mysql sql phpmyadmin


    【解决方案1】:

    如果我正确理解您的问题,您应该能够执行以下操作:table1 是顶级表格,table2 是您要更新的表格:

    update table2 t set admin_id = (select user_id2 from table1 where user_id = t.admin_id)

    【讨论】:

    • 谢谢你!像魅力一样工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多