更新SQL Server 中的識別列
對於那些尋求修改SQL Server 中的識別列的人來說,了解直接更新是至關重要的不允許。與常規列不同,標識列不能簡單地使用更新語句進行更新。
識別列更新的替代方案
雖然直接更新識別列是不可能的,但還有其他替代方案實現類似結果的方法:
更新新的身分值記錄
要確保新記錄以特定識別值開頭,請使用DBCC CHECKIDENT。此命令檢查當前標識值並在必要時重置它。
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
更新現有記錄的識別值
要選擇性地更新現有記錄的識別值,請利用 IDENTITY_INSERT。此功能允許將值明確插入到識別列中。
SET IDENTITY_INSERT YourTable {ON|OFF}
範例
要插入具有特定識別值的新記錄:
-- Enable identity insert SET IDENTITY_INSERT YourTable ON -- Insert record INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue') -- Disable identity insert SET IDENTITY_INSERT YourTable OFF
更新現有記錄:
-- Delete old record DELETE FROM YourTable WHERE ID=3 -- Insert record with new identity value SET IDENTITY_INSERT YourTable ON INSERT INTO YourTable(ID, otherCol) VALUES(13,'newValue') SET IDENTITY_INSERT YourTable OFF
以上是如何修改 SQL Server 中的識別列值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!