如何为现有表中的每一行插入索引

时间:2019-02-25 06:43:36

标签: sql sql-server

我想在现有的SQL表my_table中添加一个名为“索引”的列。

如何做到?

原始my_table:

name    sex age
Ben M   23
May F   20
Sam M   22

所需的my_table:

name    sex age id
Ben M   23  1
May F   20  2
Sam M   22  3

2 个答案:

答案 0 :(得分:1)

INDEX是一个反义词,因此使用它创建索引不是最佳做法,但您可以使用以下方式命名

create table mytable( id int,name varchar(100) );



    ALTER TABLE [mytable] DROP COLUMN ID 
    ALTER TABLE [mytable] ADD ID INT IDENTITY(1,1)

答案 1 :(得分:0)

可以这样创建:

ALTER TABLE dbo.my_table
ADD [index] INT 

但是,正如@Zaynul Abadin Tuhin所说,这不是最佳做法。

如果要创建标识列,则只需使用以下代码为每一行创建唯一列:

ALTER TABLE dbo.my_table
    ADD ID INT IDENTITY
    CONSTRAINT PK_my_table PRIMARY KEY CLUSTERED

输出:

Name    Age     ID
Ben M   23      1
May F   20      2
Sam M   22      3