将新列“ Aid”添加到B表并将其链接到A中的增量ID

时间:2018-09-26 16:54:11

标签: sql sql-server database foreign-keys

我是数据库设计的新手。我正在尝试创建两个表,这些表通过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”?

或者该问题是否已有陈述?

谢谢!

2 个答案:

答案 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结果的表中。这不是好的数据库设计。