>데이터 베이스 >MySQL 튜토리얼 >SQL Server 테이블에 둘 이상의 ID 열이 있을 수 있습니까?

SQL Server 테이블에 둘 이상의 ID 열이 있을 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-25 07:17:20653검색

Can a SQL Server Table Have More Than One Identity Column?

SQL Server 테이블에 두 개의 ID 열이 있을 수 있나요?

많은 데이터베이스 설계자는 테이블에 자동으로 ID 열이 여러 개 있어야 하는 필요성에 직면합니다. 기본 키 또는 다른 목적으로 증가합니다. 그러나 SQL Server에서는 이것이 직접적으로 가능하지 않습니다. Transact-SQL 참조 문서에 따르면:

테이블당 하나의 ID 열만 만들 수 있습니다.

예:

다음 SQL 문을 고려하세요. , 두 개의 ID 열이 있는 테이블을 생성하려고 시도합니다.

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.

대체 솔루션:

테이블에 자동 증가 값이 여러 개 필요한 경우 다음 대체 솔루션을 고려하세요.

  • 복합 기본 키: 여러 열을 결합하는 기본 키를 만듭니다. 단일 고유 식별자.
  • 비식별 열: 비식별 열을 생성하고 트리거 또는 기타 메커니즘을 사용하여 해당 값을 수동으로 증가시킵니다.
  • 별도의 테이블: 자동 증가 값을 저장하기 위한 별도의 테이블을 만들고 외부 테이블을 사용하여 기본 테이블에서 참조합니다. key.

SQL Server는 기본적으로 여러 ID 열을 지원하지 않지만 이러한 대체 솔루션은 필요한 기능을 제공할 수 있습니다.

위 내용은 SQL Server 테이블에 둘 이상의 ID 열이 있을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.