[英]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.