Est-il possible d'ajouter une clé primaire dans une table ayant déjà un index non cluster unique?Index unique Sybase et clé primaire
J'ai une table cargo_car et j'ai besoin de définir cd_cargo_car comme PK.
J'ai essayé ceci:
ALTER TABLE dbo.cargo_car ADD PRIMARY KEY (cd_cargo_car)
mais j'ai reçu l'erreur:
Error (1921) An index with the same columns inthe same order alredy exists onthe table
Ce tableau a de nombreuses dépendances et lorsque je tente de supprimer l'index je reçois:
Error (3712) Cannot drop index 'cargo_car.XPKcargo_car' because it still has referential integrity constraints.
Ceci est le script Créer:
CREATE TABLE dbo.cargo_car
(
cd_cargo_car SMALLINT NOT NULL,
nm_cargo_car VARCHAR (40) NOT NULL,
cd_refini_car CHAR (4) NOT NULL,
cd_reffin_car CHAR (4) NOT NULL,
cd_jornada1_car CHAR (2) NOT NULL,
cd_jornada2_car CHAR (2) NOT NULL
)
GO
CREATE UNIQUE NONCLUSTERED INDEX XPKcargo_car
ON dbo.cargo_car (cd_cargo_car)
GO
Suggestion sur comment faire ceci?
TKS
Je pense que vous allez devoir supprimer toutes les contraintes de clé étrangère sur les autres tables, supprimer cet index, créer la clé primaire (je suppose que vous voulez il doit être mis en cluster?), puis recréer les contraintes de clé étrangère. – MatBailie
Votre solution est parfaite J'ai dû supprimer l'index et toutes les références, créer le PK et recréer mes contraintes. Merci @Dems – meurer