我有一個數據庫,使用SQL Server遷移助理從MySql遷移而來,現在存儲在Azure中。更改SQL數據庫上的主鍵
SSMA顯然生成了一個新的主鍵列,名爲ssma$rowid
,其中一個表。我試圖改變PK回Card_Key,但我收到以下錯誤:
An error was encountered while applying the changes.
An exception occurred while executing the Transact-SQL statement:
ALTER TABLE [carddb].[Cards] ALTER COLUMN [Card_Key] INT NOT NULL.
The index 'Card_Key' is dependent on column 'Card_Key'.
ALTER TABLE ALTER COLUMN Card_Key failed because one or more objects
access this column.
我怎樣才能讓Card_Key
的PK再次?
刪除名爲'Card_Key'的索引並重試? – Andomar
如果我這樣做,我會失去Card_Key中的所有值,對吧? – Mason240
如果您只是刪除索引('drop index ...'),則不會丟失任何數據或值。你只是失去了查詢速度更快的索引。 – Andomar