Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann man die Länge von varchar im zusammengesetzten Primärschlüssel ändern?

Durch Ändern des Datentyps in varchar(4000) , lassen Sie es NULLs akzeptieren .

Versuchen Sie Folgendes:

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);

Beachten Sie, dass die Indexgröße (die implizit für PK erstellt wird ) ist auf 900 begrenzt Bytes und Einfügungen größerer Werte schlagen fehl.