sql >> Database >  >> RDS >> Sqlserver

Vergeten kolom met primaire sleutel toe te voegen als identiteit

U kunt [rownumber] . laten vallen en vervolgens toevoegen met identiteit

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

Als u het identiteitsveld voor bestaande gegevens wilt vullen, kunt u beter een andere tijdelijke tabel maken en alle records van [dbo].[sydShopOrder] bewaren. in dat. Daarna truncate [dbo].[sydShopOrder] en voeg vervolgens de waarden uit die tijdelijke tabel toe aan [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

Hier is een voorbeeld SQLFIDDLE




  1. Zal UUID als primaire sleutel in PostgreSQL slechte indexprestaties geven?

  2. Hoe OBJECTPROPERTYEX() werkt in SQL Server

  3. Hoe de primaire sleutel van Django te vervangen door een ander geheel getal dat uniek is voor die tabel?

  4. Zijn er manieren om 2 tabellen toe te voegen bij gebruik van de INSERT-instructie in de querybuilder?