sql >> Databasteknik >  >> RDS >> Sqlserver

Glömde lägga till primärnyckelkolumn som identitet

Du kan släppa [rownumber] och lägg sedan till med identitet

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

Om du vill fylla i identitetsfältet för befintliga data är det bättre att skapa ytterligare en tillfällig tabell och behålla alla poster för [dbo].[sydShopOrder] i det. Efter det truncate [dbo].[sydShopOrder] och infoga sedan värdena från den temporära tabellen till [dbo].[sydShopOrder]

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

Här är ett exempel på SQLFIDDLE




  1. Android studio getSlotFromBufferLocked:okänt buffertfel

  2. Slå samman två tabeller för en SELECT-fråga?

  3. Solr 4.6.0 DataImportHandler snabbar upp prestandan

  4. Oracle Entity Framework - Anrop anpassad funktion (EDIT_DISTANCE)