Crear y modificar restricciones PRIMARY KEY

Al crear una tabla puede crear una sola restricción PRIMARY KEY como parte de la definición de tabla. Si la tabla ya existe, puede agregar una restricción PRIMARY KEY, siempre que no exista ya otra restricción PRIMARY KEY. Una tabla puede contener una sola restricción PRIMARY KEY.

Si ya existe una restricción PRIMARY KEY, puede modificarla o eliminarla. Por ejemplo, es posible que desee que la restricción PRIMARY KEY de la tabla haga referencia a otras columnas o bien modificar el orden de la columna, el nombre del índice, la opción de agrupamiento o el factor de relleno de la restricción PRIMARY KEY. Sin embargo, no se puede cambiar la longitud de una columna definida con una restricción PRIMARY KEY.

[!NOTA] Para modificar una restricción PRIMARY KEY, antes deberá eliminar la restricción PRIMARY KEY existente y, a continuación, volver a crearla con la nueva definición.

Cuando se agrega una restricción PRIMARY KEY a una o varias columnas de la tabla, SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) examina los datos y metadatos de columnas existentes para garantizar que se cumplen las siguientes reglas en las claves principales:

  • Las columnas no admiten valores NULL.
    Las columnas de restricciones PRIMARY KEY que se especifiquen al crear la tabla se convierten implícitamente a NOT NULL.
  • No puede haber valores duplicados.
    Si se agrega una restricción PRIMARY KEY a una columna que tiene valores duplicados o permite valores NULL, Database Engine (Motor de base de datos) devuelve un error y no agrega la restricción.

No se puede agregar una restricción PRIMARY KEY que infrinja estas reglas.

Database Engine (Motor de base de datos) crea automáticamente un índice único para exigir que la restricción PRIMARY KEY sea única. Si aún no existe un índice agrupado en la tabla o no se ha especificado explícitamente un índice no agrupado, se crea un índice agrupado único para forzar la restricción PRIMARY KEY.

No se puede eliminar una restricción PRIMARY KEY si se cumple alguna de las siguientes condiciones:

  • Una restricción FOREIGN KEY de otra tabla hace referencia a ella; debe eliminarse primero la restricción FOREIGN KEY.
  • Se ha aplicado un índice PRIMARY XML a la tabla.

Para crear una restricción PRIMARY KEY al crear una tabla

CREATE TABLE (Transact-SQL)

Para crear o eliminar una restricción PRIMARY KEY en una tabla existente

ALTER TABLE (Transact-SQL)

Cómo crear claves principales (Visual Database Tools)

Cómo eliminar claves principales (Visual Database Tools)

Para obtener información acerca de las restricciones PRIMARY KEY

sys.key_constraints (Transact-SQL)

Vea también

Conceptos

Restricciones PRIMARY KEY

Ayuda e información

Obtener ayuda sobre SQL Server 2005