Sql-Server
如何在 SQL Server 2014 中更改 PRIMARY KEY 中的 VARCHAR 長度
我需要將
VARCHAR
SQL Server 2014 中庫表的程式碼列中的長度從 20 更改為 25,但 SSMS 想要刪除並重新創建我的所有相關庫錶鍊接到的表。有沒有辦法在
VARCHAR
不刪除所有表的情況下更改 PRIMARY KEY 的長度?
當你增加長度時,你可以做一個改變列,例如:
CREATE TABLE dbo.T1 ( C1 VARCHAR(20) NOT NULL CONSTRAINT PK_T1 PRIMARY KEY , C2 INT ); GO INSERT INTO dbo.T1 VALUES ( 'test', 1 ), ( 'test2', 2 ); GO ALTER TABLE dbo.T1 ALTER COLUMN C1 VARCHAR(25) NOT NULL;
在https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-table-transact-sql進一步閱讀
ALTER TABLE
語法
您將需要使用該
ALTER TABLE
命令,如 Nic 的回答所示。但是,問題是存在引用您的表的外鍵。為了解決這個問題,您需要編寫外鍵腳本,刪除它們以進行更改,然後在更新表後重新創建它們。
這是Aaron Bertrand 的腳本連結,用於編寫刪除和創建外鍵的命令。
注意:我還將更新使用它的其他表中的列,以確保所有允許的值都適合那些其他表。