我有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