簡體   English   中英

將表主鍵列大小更改為 255

[英]Alter table primary key column size to 255

我有一個表,主鍵列大小設置為50。由於一些新的要求,我需要將大小增加到255。經過網上搜索,我了解到如果列是其中的一部分,則無法更改列主鍵約束。 因此,我采取了刪除約束、更改列並重新添加約束的方法。 但是,我仍然遇到一個小問題,我的原始列是非 Null 類型並且設置了默認值,但是現在當我嘗試以下 sql 時,我收到錯誤“默認語法附近有錯誤”

ALTER TABLE [tblLocation] 
DROP CONSTRAINT [PK_tblLocation]

ALTER TABLE [tblLocation] 
ALTER COLUMN Location VARCHAR(255) DEFAULT('New Location') NOT NULL 

ALTER TABLE [tblLocation]
ADD
CONSTRAINT [PK_tblLocation] PRIMARY KEY CLUSTERED
(
[Location] ASC
)

謝謝你的幫助。 賈維德

您不能使用 `ALTER TABLE... ALTER COLUMN' 同時修改列約束(這里是默認值)。 您首先需要更改列,然后更改默認約束。 (您可能需要先刪除然后重新創建默認值。)

問題在於第二個 ALTER TABLE 語句中的 SQL 語法。

更改默認值時,您應該指定一個約束名稱:

ALTER TABLE [tblLocation] 
ADD CONSTRAINT DF_tblLocation_Location DEFAULT 'New Location' FOR Location

(我不知道為什么。我想這只是 CREATE TABLE 語法與 ALTER TABLE 語法不同。)

但是,在主鍵列上設置默認值是沒有意義的......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM