Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment modifier la longueur de varchar dans la clé primaire composite?

En modifiant le type de données en varchar(4000) , vous lui faites accepter NULLs .

Essayez ceci :

ALTER TABLE [mytable] DROP CONSTRAINT PK_mytable_data;
ALTER TABLE [mytable] ALTER COLUMN data varchar(4000) NOT NULL;
ALTER TABLE [mytable] ADD CONSTRAINT PK_mytable_data PRIMARY KEY (fkid, data);

Notez que la taille de l'index (qui est implicitement créée pour PK ) est limité à 900 les octets et les insertions de valeurs supérieures échoueront.