Nice programing

SQL 테이블의 기본 키 자동 증가

nicepro 2020. 12. 28. 22:30
반응형

SQL 테이블의 기본 키 자동 증가


Sql Express Management Studio 2008 GUI (코딩 제외)를 사용하여 기본 키를 자동으로 늘리려면 어떻게해야합니까?

설명하겠습니다. "id"라는 열이있는 테이블이 있으며이 열의 항목은 기본 키로 설정되어 있습니다. 이 열을 자동으로 늘리고 싶지만 어떻게해야합니까?

건배


  1. 아마도 당신은 테이블의 디자인에 있습니다. 그렇지 않은 경우 : 테이블 이름- " 디자인 "을 마우스 오른쪽 단추로 클릭하십시오 .
  2. 필요한 열을 클릭하십시오.
  3. " 열 속성 "(하단)에서 " Identity Specification "섹션으로 스크롤하여 확장 한 다음 " (Is Identity) "를 " Yes "로 전환합니다.

여기에 이미지 설명 입력


SSMS에서 테이블을 마우스 오른쪽 버튼으로 클릭하고 '디자인'한 다음 id 열을 클릭합니다. 속성에서 ID를 @ 예를 들어 1로 설정하고 증분을 1로 설정하면 저장이 완료됩니다.


다음은 GUI에서 수행하는 방법이 아니지만 IDENTITY 데이터 유형 (start, increment)을 사용하여 자동 증가를 얻을 수 있습니다.

CREATE TABLE "dbo"."TableName"
(
   id int IDENTITY(1,1) PRIMARY KEY NOT NULL,
   name varchar(20),
);

insert 문은 id 열을 제외한 모든 열을 나열해야합니다 (자동 증가 값으로 채워짐).

INSERT INTO "dbo"."TableName" (name) VALUES ('alpha');
INSERT INTO "dbo"."TableName" (name) VALUES ('beta');

그리고 결과

SELECT id, name FROM "dbo"."TableName";

될거야

id    name
--------------------------
1     alpha
2     beta

이 컴퓨터에는 Express Management Studio가 없으므로 메모리를 기반으로합니다. 열을 "IDENTITY"로 설정해야한다고 생각하고 확장 할 수있는 속성 아래에 [+]가 있어야하며 자동 증가를 true로 설정해야합니다.


아래 답변에 따라 변경된 후에도 여전히 문제가있는 사람들을 위해 다음을 수행하십시오.

도구-> 옵션-> 디자이너-> 테이블 및 데이터베이스 디자이너-> "테이블 다시 생성이 필요한 변경 사항 저장 방지"상자 선택 취소-> 확인

이제 작동 할 것이므로 저장하십시오.


이렇게 정의 단계에서 할 수있는 방법이 있다고 생각합니다

create table employee (id int identity, name varchar (50), primary key (id)) .. 기존 테이블을 변경하고 이론적으로는 불가능한 열을 Identity로 만드는 방법이 있는지 확인하려고합니다 ( 기존 값을 수정해야 할 수 있으므로)

참조 URL : https://stackoverflow.com/questions/3359170/auto-increment-primary-key-in-sql-tables

반응형