Tengo una tabla existente que estoy a punto de volar porque no la creé con la IDcolumna configurada para ser la columna de identidad de la tabla.
Usando SQL Server Management Studio , escribí un script "Crear para ..." de la tabla existente y obtuve esto:
CREATE TABLE [dbo].[History](
[ID] [int] NOT NULL,
[RequestID] [int] NOT NULL,
[EmployeeID] [varchar](50) NOT NULL,
[DateStamp] [datetime] NOT NULL,
CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Mi pregunta es, ¿cómo modificaría esto SQLpara que mi tabla resultante tenga la IDcolumna configurada como Identidad ?
sql
sql-server
tsql
jp2code
fuente
fuente

Respuestas:
fuente
PK_Historyvalor aIDni nada?Esto ya ha sido respondido, pero creo que la sintaxis más simple es:
El índice de restricción más complicado es útil cuando realmente desea cambiar las opciones.
Por cierto, prefiero nombrar esa columna HistoryId, para que coincida con los nombres de las columnas en las relaciones de clave externa.
fuente
ID int constraint PK_History primary key identity(1,1)Yo creo.NOT NULLes redundante.por supuesto, dado que está creando la tabla en SQL Server Management Studio, puede usar el diseñador de tablas para establecer la Especificación de identidad.
fuente
La clave única permite un máximo de 2 valores NULL. Explicación:
Si intenta insertar los mismos valores que a continuación:
Cada vez obtendrá un error como:
fuente
IDcolumna fuera única , no laNamecolumna. ¿Por qué ha agregado la restricción única a laNamecolumna? ¿Cómo te beneficia eso en tutepppmesa?