我有一个看起来像这样的 table_1
NameId SelectedName
Null A
Null C
Null F
NameId
是 FOREIGN KEY
REFERENCES table_2 (Id)
还有一个看起来像这样的table_2
Id Name
1 A
2 B
3 C
4 D
5 E
6 F
我想用与同一 Name
关联的所有 Id
数字填充 NameId
,例如,最终结果将是:
NameId SelectedName
1 A
3 C
6 F
到目前为止,我只有:
SELECT Id, `Name` FROM table_2 WHERE `Name` IN (SELECT `SelectedName` FROM table_1);
然后我尝试跟进:
UPDATE table_1 SET NameId = Id WHERE SelectedName = `Name`;
这是行不通的。不确定如何去做这件事或如何使用以前选择的列和关系来完成我想在这里完成的事情...
最佳答案
UPDATE table1
INNER JOIN table2
ON table1.SelectedName= table2.Name
SET table1.NameId = table2.ID
关于mysql - 根据与另一个表的关系更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48920017/