>source

SQL에서 (1,1)은 무엇을 의미합니까? 나는 다음과 같은 맥락에서 의미합니다.

create table PetOwner
(
    Id      int identity(1,1)
,   Name        nvarchar(200)
,   Policy  varchar(40)
)

나는 SQL 프로시저를 작성하는 데 익숙하지 않습니다. 이런 걸 배우기에 좋은 곳은 어디인가요?

xarzu2022-02-03 22:36:50
  • 답변 # 1

    SQL에서 테이블을 만들 때 몇 가지를 정의합니다. 전- 테이블 생성 tbl_employee ( id 기본 키 ID(1,1) 이름 varchar(50), 나이 정수, 모빌노 비긴트 )

    identity (1,1):-identity는 자동 증분을 위한 속성이지만 condition(1,1)을 입력하면 identity가 1에서 시작하여 1 ex-1 2 3 4 증가하지만 (4,3)과 같은 다른 조건을 넣으면 4에서 시작하여 산술 진행(AP)처럼 3 Ex-4 7 9만큼 증가한다는 것을 보여줍니다.

  • 답변 # 2

    아이디 정수(1,1), 첫 번째 1은 ID의 시작 값을 의미하고 두 번째 1은 ID의 증분 값을 의미합니다. 그것은 1,2,3,4처럼 증가할 것입니다.. 만약 그것이 (5,2)라면, 그것은 5에서 시작하여 5,7,9,11과 같이 2만큼 증가합니다...

  • 답변 # 3

    SQL 서버 IDENTITY열:

    IDENTITY [ (시드, 증분) ]

    ID 열은 키 값을 생성하는 데 사용할 수 있습니다. 정체성 열의 속성은 다음을 보장합니다.

    • 각각의 새로운 값은 현재 시드 및 증가.

    • 특정 트랜잭션에 대한 각각의 새로운 값은 테이블의 다른 동시 트랜잭션과 다릅니다.

    1단계부터 1단계로 시작합니다.

    "연속" 숫자를 생성하는 매우 편리한 방법입니다. 점에 유의하시기 바랍니다:

    값 재사용 – 특정 시드/증가가 있는 지정된 ID 속성의 경우 엔진에서 ID 값을 재사용하지 않습니다. 특정 삽입 문이 실패하거나 삽입 문이 롤백되면 소비된 ID 값이 손실되고 다시 생성되지 않습니다. 이로 인해 후속 ID 값이 생성될 때 간격이 발생할 수 있습니다.


    create table #PetOwner(
        Id      int identity(1,1)
    ,   Name        nvarchar(200)
    ,   Policy  varchar(40));
    INSERT INTO #petOwner(Name, Policy)
    VALUES ('Tim', 'a'),('Bob' ,'b');
    SELECT *
    FROM #PetOwner;
    

    실시간 데모

    작은 점이지만 연속적이라는 보장은 없습니다(항상 고유함은 보장됨). 실패한 트랜잭션, 버그 또는 서버 다시 시작으로 인해 건너뛸 수 있습니다. 일반적으로 그렇습니다. 연속적입니다.

    johnnyRose2022-02-03 22:36:50

    @johnnyRose 네, 트랜잭션 롤백이나 삭제가 발생하면 연속되지 않습니다.

    Lukasz Szozda2022-02-03 22:36:50
  • 이전 python : 데이터 흐름을 사용하여 CSV 파일을 읽지만 Google BigQuery에 행을 수집하기 전에 두 개의 열 op_type 및 op_time을 추가합니다.
  • 다음 python : Conda는 설치된 모듈을 가져올 수 없습니다