SQL Server 表可以有两个标识列吗?
许多数据库设计者都会遇到需要在表中包含多个列的情况,这些列可以自动增量,用于主键或其他目的。然而,在 SQL Server 中,这不是直接可能的。根据 Transact-SQL 参考文档:
每个表只能创建一个标识列。
示例:
考虑以下 SQL 语句,它尝试创建一个具有两个标识列的表:
CREATE TABLE [dbo].[Foo]( [FooId] [int] IDENTITY(1,1) NOT NULL, [BarId] [int] IDENTITY(1,1) NOT NULL )
此语句将失败,并显示以下内容错误:
Msg 2744, Level 16, State 2, Line 1 Multiple identity columns specified for table 'Foo'. Only one identity column per table is allowed.
替代解决方案:
如果您需要在表中包含多个自动递增值,请考虑以下替代解决方案:
虽然 SQL Server 本身不支持多个标识列,但这些替代解决方案可以提供您所需的功能。
以上是一张 SQL Server 表可以有多个标识列吗?的详细内容。更多信息请关注PHP中文网其他相关文章!