Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Ich habe vergessen, die Primärschlüsselspalte als Identität hinzuzufügen

Sie können [rownumber] löschen und dann mit Identität hinzufügen

Alter Table [dbo].[sydShopOrder] Drop Column rownumber
Go
Alter Table [dbo].[sydShopOrder]
Add rownumber Int Identity(1, 1)
Go

Wenn Sie das Identitätsfeld mit vorhandenen Daten füllen möchten, sollten Sie besser eine weitere temporäre Tabelle erstellen und alle Datensätze von [dbo].[sydShopOrder] aufbewahren darin. Danach truncate [dbo].[sydShopOrder] und fügen Sie dann die Werte aus dieser temporären Tabelle in [dbo].[sydShopOrder] ein

CREATE TABLE #temp  ([firstName] [varchar](50) NULL,
    [lastName] [varchar](50) NULL,
    [employeeNumber] [varchar](50) NULL,
    [productID] [varchar](50) NULL,
    [shopID] [varchar](50) NULL,
    [location] [varchar](50) NULL,
    [address] [varchar](50) NULL,
    [department] [varchar](50) NULL,
    [datestamp] [date] NULL)

INSERT INTO #temp 
SELECT [firstName],[lastName],[employeeNumber],
       [productID], [shopID],[location],
       [address],[department],[datestamp]
FROM [dbo].[sydShopOrder]

TRUNCATE TABLE [dbo].[sydShopOrder]

INSERT INTO [dbo].[sydShopOrder]
SELECT * FROM #temp

Hier ist ein Beispiel SQLFIDDLE