我想为每个具有值的现有行插入一个 ID

I want to insert an ID for every existing ROW with values

我有一个 table 包含不同的列(全部带有数据),我遇到的问题是我想为每一行分配一个 ID,但我不知道该怎么做。

我尝试使用游标,但我没有任何条件来区分行,因为在每一行中,一些数据将在其他行中。

我想做的事的例子:

TABLE RACE
___________

COLUMNS
___________

Circuit | Date | Pilots
Montmelo| 10/12| 24
Montmelo| 10/13| 24
Montmelo| 10/14| 24
Japan   | 10/17| 23

这只是一个table的例子,我想要的是为每一行添加一个ID,增加1

TABLE RACE
___________

COLUMNS
___________

Circuit | Date | Pilots | ID
Montmelo| 10/12| 24     | 1
Montmelo| 10/13| 24     | 2
Montmelo| 10/14| 24     | 3
Japan   | 10/17| 23     | 4

希望你理解我,对不起我的英语!

@Jeyem,您可以使用 ROW_NUMBER 轻松添加 ID 列。像这样:

DECLARE @MyTable TABLE (Circuit varchar(20), Date VARCHAR(8), Pilots int)
INSERT INTO @MyTable
SELECT 'Montmelo', '10/12', 24  UNION ALL
SELECT 'Montmelo', '10/13', 24  UNION ALL
SELECT 'Montmelo', '10/14', 24  UNION ALL
SELECT 'Japan', '10/17', 23 

SELECT *, ID=ROW_NUMBER()over(order by Date)
FROM
    @MyTable

Here 是我计算出来的。事实证明,您可以使用 IDENTITY 来计算这样的行数。
那就是:

ALTER TABLE RACE ADD id INT IDENTITY(1,1);

试试这个:-

ALTER TABLE RACE ADD id INT IDENTITY(1,1);
                 OR
select Circuit,Date,Pilots,ROW_NUMBER()OVER(ORDER BY (SELECT 1 ))  as ID From RACE