代码之家  ›  专栏  ›  技术社区  ›  Eleanor

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

  •  0
  • Eleanor  · 技术社区  · 6 年前

    我是数据库设计新手。我正在尝试创建两个表,它们通过表A中的'name'和表B中的'Aname'链接。但我要做的是创建一个新的increment int列'id'作为表中'name'的表示,然后在B中添加一个名为'Aid'的新列,它是外键。

    我的想法是首先(SQL SERVER)

    SELECT row_number() over(order by A.name) id, A.* from A;
    

    但如何将这个id链接到B表中的“Aid”?

    谢谢您!

    2 回复  |  直到 6 年前
        1
  •  1
  •   Gordon Linoff    6 年前

    如果已经定义了列,则可以使用 join 在一个 update :

    update b
        set b.a_id = a.a_id
        from b join
             a
             on b.name = a.name;
    
        2
  •  0
  •   Colin G    6 年前

    我认为您需要首先查看如何向现有数据集添加自动增量列,其中有许多在线资源。您可以找到一个特定于您的SQL Server版本的。然后你可以考虑把你的B桌和你的A桌连接起来。但是,不要将数据添加到一个表中,而该表是要在一个行号结果上联接的。这不是一个好的数据库设计。