我可以追溯添加一个外键 ID 列并用另一个 table 的主键的值填充它,而无需手动输入吗?

Can I retroactively add a foreign key ID column and populate it with the values of another table's primary key without having to enter manually?

我有两个表:

Table1 (TagID, TagName, Primary Key (TagID)<br>
Table2 (TagName,ProductName, ProductID)

我想向 Table2 添加一个 TagID 列,并用 table1TagName=TagNameTagIDs 填充它。

这是否可以不通过并单独输入 TagID?

是的,您可以通过更改 table 然后更新值来做到这一点:

alter table table2 add column TagId int;

update table2 t2 join
       table1 t1
       on t2.TagName = t1.TagName
    set t2.TagId = t1.TagId;

alter table table2 add constraint fk_table2_tagid
    foreign key (TagId) references table1(TagId);

我建议在 table1(TagName) 上建立索引以提高性能。