SQL中的唯一列可以是auto_increment,... 即,如果我们有一个数据库表,它具有带有标识(1,1)的主键列“id”。那么,我们可以使用UNIQUE约束和IDENTITY(1,1)的其他列吗?SQL中的唯一列可以是auto_increment
回答
您每个表只能有一个标识列,但您可以拥有任意数量的唯一约束(或索引)。
实际上,如果您将int标识列用作主键,那么强烈建议您在表上至少再添加一个唯一索引。
原因是,使用代理主键而不在自然键上强制实施唯一性意味着您的数据库无法正确执行数据完整性。 (Bonus reading - Natural vs. Surrogate Keys in SQL Server : Getting the Proper Perspective)
顺便说一句,列是标识列的事实并不意味着它是唯一的。它只会是唯一的,只要没有人混淆 - 身份列可以使用set identity_insert on
插入显式值,并且可以使用DBCC CHECKIDENT
sql命令重新接种。
谢谢..为答案 – mohd
[很高兴帮助: - )](http://meta.stackoverflow.com/questions/291325/how-to-show-欣赏用户在堆栈溢出/ 291327#291327) –
- 1. SQL查询以确定列中的值是唯一的
- 2. 是否可以确保唯一邮件位于rabbitmq队列中?
- 3. Oracle sql - 我们可以在同一个表中有2个唯一的列吗
- 4. SQL Server唯一列ID的
- 5. AUTO_INCREMENT是否可以安全地用于MySQL中的BEFORE TRIGGER中
- 6. PL \ SQL从列1中选择第一列,其中列2是唯一的
- 7. 我可以在具有AUTO_INCREMENT属性的列中使用零吗?
- 8. 外键列是否可以引用父表中包含NULL的唯一列?
- 9. SQL Server中的可逆唯一约束
- 10. SQL约束:非唯一列中的唯一值
- 11. oracle中的多列表中的一列的唯一值sql
- 12. sql唯一映射列
- 13. SQL多个唯一列
- 14. SQL Server - 根据另一列强制一列中的唯一性
- 15. 我可以在同一个表中有两个唯一列吗?
- 16. auto_increment列为一组行吗?
- 17. 在SQL中创建唯一列表
- 18. My SQL AUTO_INCREMENT在辅助列上
- 19. Typemock是唯一可以模拟Linq To SQL Table类的框架吗?
- 20. SQL:更新基于列的唯一行
- 21. 2列组合的SQL唯一约束
- 22. 如何将auto_increment添加到SQL Server 2008中的列中
- 23. SQL Server - 如何跨多列创建唯一约束,其中一列是VARCHAR
- 24. 我可以找出下一个使用的auto_increment吗?
- 25. sql - 是否可以根据另一列中的值设置列值?
- 26. 列在ORDER BY列表中必须是唯一的SQL命令通过
- 27. 如何设置VS2010 SQL表列是唯一的?
- 28. SQL上多列是唯一的条件约束
- 29. 计算两列其中一列是唯一的
- 30. SQL Server中的1个表中的每列的唯一结果
几个问题,你为什么会需要相同的两列数据,任何具体的理由 – Joby
这似乎类似于[标识列的StackOverflow(HTTP://计算器。 com/questions/349092/can-a-sql-server-table-have-two-identity-columns) – Joby
ok让我们更改数据,IDENTITY(500,1)... :),但无论如何,下面的答案将阐明我们不能有两列有“IDENTITY” – mohd