relaciones - Crear la identidad de SQL como clave principal?-Servidor SQL
que es una llave foranea en sql server (3)
El simple cambio de sintaxis es todo lo que se necesita
create table ImagenesUsuario (
idImagen int not null identity(1,1) primary key
)
Al utilizar explícitamente la palabra clave "restricción", puede asignar a la restricción principal un nombre particular en lugar de depender de SQL Server para asignar un nombre automáticamente:
create table ImagenesUsuario (
idImagen int not null identity(1,1) constraint pk_ImagenesUsario primary key
)
Agregue la palabra clave "CLUSTERED" si tiene más sentido en función de su uso de la tabla (es decir, el saldo de búsquedas para un idImagen particular y la cantidad de escritura superan los beneficios de agrupar la tabla por otro índice).
create table ImagenesUsuario
{
idImagen int primary key not null IDENTITY
}
Esto no funciona. ¿Cómo puedo hacer esto?
Esto es similar a los scripts que generamos en nuestro equipo. Primero cree la tabla, luego aplique pk / fk y otras restricciones.
CREATE TABLE [dbo].[ImagenesUsuario] (
[idImagen] [int] IDENTITY (1, 1) NOT NULL
)
ALTER TABLE [dbo].[ImagenesUsuario] ADD
CONSTRAINT [PK_ImagenesUsuario] PRIMARY KEY CLUSTERED
(
[idImagen]
) ON [PRIMARY]
Si está utilizando T-SQL
, lo único incorrecto con su código es que utilizó llaves {}
lugar de paréntesis ()
.
PD: Tanto la IDENTITY
como la PRIMARY KEY
implican NOT NULL
, por lo que puede omitir eso si lo desea.