ACTUALIZACIÓNCambiar columna de clave principal en SQL Server
Estas son las limitaciones, como resultado de la consulta
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 'history'
CONSTRAINT_NAME COLUMN_NAME ORDINAL_POSITION
PK_history userKey 1
PK_history name 2
Este es el resultado de la consulta
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME = 'history'
CONSTRAINT_NAME CONSTRAINT_TYPE IS_DEFERRABLE INITIALLY_DEFERRED
PK_history PRIMARY KEY NO NO
FIN ACTUALIZAR
Mi host proporciona una interfaz para mi DB de SQL Server a través de ASP.NET Enterprise Manager.
tengo 3 columnas en mi mesa history
:
userId
(clave, int NULL no permitido)name
(llave, cadena, NULL no permitido)id
(no clave, int, NULL permitido)
Quiero hacer de la columna de identificación la única clave.
Para hacer eso, creo que necesito:
- Asegúrese de que no hay valores nulos en la columna de cualquier fila
- Establecer la columna para no permitir valores NULL
- Añadir la columna como una primarias clave
- quitar las otras 2 columnas como claves
Sin embargo, cuando se utiliza la interfaz de usuario proporcionada, nunca funciona. A veces parecerá que intenta hacer algo, pero nunca cambia cuando actualizo la vista de las columnas. Ocasionalmente crea una tabla temporal que parece que intentó hacer parte de la operación, pero nunca se copia/sobrescribe la tabla original que intento cambiar.
Cuando intento usar una consulta, los cambios tampoco se muestran. Estas son las preguntas que creo que necesito:
SELECT * from history WHERE id is NULL <---- This shows 0 results
ALTER TABLE history
ALTER COLUMN id int NOT NULL
ALTER TABLE history ADD PRIMARY KEY (id)
ALTER TABLE history
DROP CONSTRAINT userId
DROP CONSTRAINT name
GO
sólo he llegado al intento de no permitir valores nulos y para agregar la clave principal para la columna id. No parece funcionar. ¿Alguien me puede apuntar en la dirección correcta? ¡Gracias!
¿aparece un mensaje de error? –
debe soltar las restricciones primero –
no, no recibo ningún mensaje de error con la consulta. Con la interfaz de usuario, recibí el error relacionado con la configuración de la columna de Id. En una clave cuando permite valores nulos, pero no error al intentar desestimar los valores nulos. – ckbhodge