我有一个ID
列没有自动递增,所以我的ID
不统一而且一团糟。我需要创建一个新的ID
字段,并用ID
的1-max行填充它。
我不知道如何创建一个。我尝试了一些微不足道的事情,但是当它不应该是的时候我会得到错误。
答案 0 :(得分:1)
这是一种方法:
declare @rn := 0;
update table t
set newid = (@rn := @rn + 1)
order by id;
您可能必须先添加列:
alter table t add column newid int;
答案 1 :(得分:0)
将当前ID散列为HashMap中的Keys,并且对于每个新键,该值应为1加上之前的值。 (或者你可以为每个新行设置一个类似i ++的计数器)。这些值可以作为您的新ID。
答案 2 :(得分:0)
在SQL Server中,只要您自动创建标识列,就会使用从1到n的值填充该列。
答案 3 :(得分:-2)
ALTER TABLE TABLENAME ADD RowId INT IDENTITY(1,1)
OR
ALTER TABLE TABLENAME ADD COLUMN Id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY Id(Id)
这会为您的表添加额外的标识列。 希望它有所帮助。