sql >> Database teknologi >  >> RDS >> Sqlserver

Glemte at tilføje primær nøglekolonne som identitet

Du kan slippe [rownumber] og tilføj derefter med identitet

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

Hvis du ønsker at udfylde identitetsfeltet for eksisterende data, er det bedre at oprette en anden midlertidig tabel og opbevare alle posterne for [dbo].[sydShopOrder] i det. Derefter truncate [dbo].[sydShopOrder] og indsæt derefter værdierne fra den midlertidige tabel til [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

Her er et eksempel på SQLFIDDLE




  1. MySQL UDF sys_exec() virker ikke

  2. Hvordan gør man forespørgslerne i en lagret procedure opmærksomme på forårstransaktionen?

  3. Spring Boot - Samme repository og samme enhed for forskellige databaser

  4. Få brugernes kommentarer fra Mysql ved hjælp af Php