在MSSQL中,我有一个像这样创建的表:
CREATE TABLE [mytable] (fkid int NOT NULL, data varchar(255) CONSTRAINT DF_mytable_data DEFAULT '' NOT NULL);
ALTER TABLE [mytable] ADD CONSTRAINT PK_mytable_data PRIMARY KEY (fkid, data);
Run Code Online (Sandbox Code Playgroud)
现在我想将'data'列的长度从255增加到4000.
如果我只是尝试:
ALTER TABLE [mytable] ALTER COLUMN data varchar(4000);
Run Code Online (Sandbox Code Playgroud)
然后我收到这个错误:
The object 'PK_mytable_data' is dependent on the column 'data'
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:
ALTER TABLE [mytable] DROP CONSTRAINT PK_mytable_data;
ALTER TABLE [mytable] ALTER COLUMN data varchar(4000);
ALTER TABLE [mytable] ADD CONSTRAINT PK_mytable_data PRIMARY KEY (fkid, data);
Run Code Online (Sandbox Code Playgroud)
然后我收到这个错误:
Cannot define PRIMARY KEY constraint on nullable column in table …Run Code Online (Sandbox Code Playgroud) sql-server sql-server-2005 constraints primary-key sql-server-2008