我是数据库设计的新手。我正在尝试创建两个表,这些表通过A表中的“名称”和表B中的“ Aname”链接。但是我想要做的是创建一个新的增量int列“ id”作为A中“名称”的表示形式表,然后在B中添加一个称为“ Aid”的新列,这是外键。
我的想法是首先(SQL SERVER)
SELECT row_number() over(order by A.name) id, A.* from A;
但是如何将该ID链接到B表中的“ Aid”?
或者该问题是否已有陈述?
谢谢!
答案 0 :(得分:1)
如果您已经定义了列,则可以在join
中使用update
:
update b
set b.a_id = a.a_id
from b join
a
on b.name = a.name;
答案 1 :(得分:0)
我认为您首先需要查找如何向现有数据集添加自动增量列,在线数据集中有很多资源。您可以找到一种特定于您的SQL Server版本。然后,您可以考虑将B表连接到该表上的A表。但是,请勿将数据添加到要连接到ROW_NUMBER结果的表中。这不是好的数据库设计。