una relaciones que primaria llave insertar hacer foranea dependencias crear compuestas como claves clave campo sql sql-server tsql

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.