簡體   English   中英

無法從SQL Server表中刪除主鍵

[英]Unable to drop Primary Key from SQL Server table

我有一張桌子的主鍵。 我通過使用以下查詢檢查了約束。

 SELECT name
 FROM sys.key_constraints
 WHERE [type] = 'PK'
   AND [parent_object_id] = Object_id('<TableName>');

以上查詢的輸出: PK_dbo.TableName (整個表只有1個約束)

我試圖通過使用下面的查詢來擺脫約束。

 ALTER TABLE TableName DROP CONSTRAINT PK_dbo.TableName;

我嘗試如下,但相同的錯誤。

 ALTER TABLE dbo.TableName DROP CONSTRAINT PK_dbo.TableName;

查詢執行失敗,並顯示錯誤消息:

無法執行查詢。 錯誤:“。”附近的語法不正確。

上面的查詢有什么問題?

確保您有圓點 . 在您的約束名稱中。

如果存在,請在方括號內鍵入約束名稱,否則請確保輸入正確的名稱

ALTER TABLE dbo.TableName DROP CONSTRAINT [PK_dbo.TableName];

注意 :不建議在對象名稱中使用點,空格等字符。 而是使用下划線,例如PK_dbo_TableName

這是因為. 在您的主鍵名稱中。 可以通過使用[ ]這樣避免:

ALTER TABLE dbo.TableName DROP CONSTRAINT [PK_dbo.TableName];

暫無
暫無

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

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