sqlserver表里有數據時怎么修改表的主碼?
只要修改的新編碼未使用過就可以改。
比如某表temp已經有三條數據,主鍵字段為keyfield,三條數據的主鍵分別是c001、c002、c003,現在要把主鍵為c001這個改為c000,執行語句如下:
update temp set keyfield='c000' where keyfield='c001'
但如果是執行如下語句就會報錯:
update temp set keyfield='c002' where keyfield='c001'
這是因為以及有另一條語句占用了c002這個主鍵,會違反主鍵唯一性約束。