我有SQL Server 2008中的表。它有empId,它是類型的int。現在不是身份。我想編寫查詢(以便我可以維護數據庫中的更改記錄)將此列作爲標識列。該表目前沒有數據。SQL查詢表上的身份密鑰
1
A
回答
3
它可以做到但不容易。據this article,如果你通過SSMS做到這一點,然後生成一個腳本,基本上是:
- 作爲 例1中創建類似的表結構,說Tmp_Example1與 標識列。
- 集IDENTITY_INSERT ON的新表 只是created.Step 3:從插入到示例1所有Tmp_Example1值
- SET IDENTITY_INSERT OFF上 Tmp_Example ..
- 跌落例1(這是怎麼回事... 下探我們原來的表???)
- 將Tmp_Example1重命名爲Example1。 提交事務
如果這個表不具有任何數據就像你說的,那麼你可能會更好過只是這樣通過SSMS(我的文章鏈接中提供的步驟)。你有沒有理由使用SQL來做這件事?
UPDATE
我讀an article其他用戶發佈的時間較早,發現這裏面似乎比我上面的方法要容易得多:
ALTER TABLE SOURCE_TB ADD ID_II INT IDENTITY(1,1)
ALTER TABLE SOURCE_TB DROP COLUMN ID
EXEC sp_rename 'SOURCE_TB.ID_II' ,'ID','COLUMN'
但同樣,這可能更有意義做這通過SSMS。不過很高興知道...
1
您沒有數據,因此將表格編寫爲drop並重新創建。將該字段更改爲Employeeid int identity(1,1)不爲null。然後重新創建表格。沒有大驚小怪。
相關問題
- 1. SQL鍊金術NULL身份密鑰
- 2. Kerberos身份驗證密鑰表KVNO
- 3. 帶密鑰的身份驗證用戶
- 4. 確認與密鑰庫的APK身份
- 5. Cookie或RESTful密鑰的身份驗證?
- 6. EhCache:什麼是用於密鑰身份?
- 7. 應用程序身份驗證密鑰
- 8. 組合鍵和分離身份密鑰
- 9. Swift Api密鑰身份驗證
- 10. SQL查詢,表中沒有公用密鑰的返回值
- 11. 用於身份驗證的Linux密鑰表文件
- 12. SQL Server:無法在應用表身份標識密鑰後保存更改
- 13. Codesign表示「找不到身份證」但鑰匙串上的身份
- 14. 在AWeber API上保存身份驗證密鑰
- 15. ORACLE SQL查詢 - 爲NOT EXISTS測試密鑰列表?
- 16. ID查詢VS密鑰查詢GAE
- 17. 通過密鑰sqlpredicate查詢
- 18. LDAP身份驗證查詢
- 19. 使用查詢字符串加密的REST API身份驗證
- 20. 解析REST API密鑰中斷客戶端密鑰身份驗證
- 21. glassfish上的無密碼身份驗證
- 22. SSH密鑰在Gitlab上詢問密碼
- 23. C#SQL添加一個查詢檢查重複密鑰
- 24. 解密SQL查詢
- 25. 當通過SSO進行身份驗證時,祕密密鑰或私鑰密鑰是否安全?
- 26. neo4j:身份驗證 - 只允許閱讀密碼查詢
- 27. 如何在Web API中使用Api密鑰進行使用表單身份驗證的服務身份驗證
- 28. SQL查詢從密鑰連接的兩行中獲取數據
- 29. 命名郵局密鑰的動態SQL查詢
- 30. 服務器能夠解密在本地系統上生成的表單身份驗證密鑰
+1好一個............... – 2010-09-21 05:53:19
@Pranay,我正在閱讀你之前發佈的文章,他們有我在我的更新中發佈的代碼,似乎工作。我認爲你的解決方案中有不同於此的東西? – 2010-09-21 05:55:15
我同意這一點,但一些我想更新現有的列。我知道這樣做不會有什麼影響,但是。想要純粹的改變表格,並且想要設置標識。這是錯誤的 - 然後重新創建。 sql服務器必須有這樣的設施才能將列屬性更改爲標識。 – 2010-09-21 06:02:27