AUTO_INCREMENT
AUTO_INCREMENT는 데이터베이스에서 자동으로 증가하는 고유한 숫자 값을 생성하는 기능입니다. 주로 기본 키(Primary Key) 열에 사용되며, 테이블에 새로운 레코드가 삽입될 때마다 이전 값보다 1 증가된 값이 자동으로 삽입됩니다.
예제
1. 테이블 생성 시 설정
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 자동 증가 기본 키
name VARCHAR(100)
);
- 위 코드에서 id 열은 자동으로 증가하며, 테이블의 각 행을 고유하게 식별합니다.
2. 데이터 삽입
INSERT INTO users (name) VALUES ('Alice'); -- id = 1
INSERT INTO users (name) VALUES ('Bob'); -- id = 2
INSERT INTO users (name) VALUES ('Charlie'); -- id = 3
- id 값은 자동으로 1, 2, 3으로 설정됩니다.
3. 시작 값 설정
ALTER TABLE users AUTO_INCREMENT = 100; -- id가 100부터 시작
- 이후 삽입되는 행의 id 값은 100부터 시작합니다.
4. 증가 폭 설정 (MySQL)
SET @@auto_increment_increment = 5; -- 값이 5씩 증가
- 새로운 레코드의 id 값이 100, 105, 110과 같이 증가합니다.
주의점
1. 수동 삽입 시 충돌 가능성
- 명시적으로 값을 삽입하면 AUTO_INCREMENT가 중복될 가능성이 있습니다.
- ex
INSERT INTO users (id, name) VALUES (5, 'David');
2. 삭제된 행의 ID는 재사용되지 않음
- 삭제된 레코드의 AUTO_INCREMENT 값은 재사용되지 않고, 다음 삽입 시 새로운 값이 생성됩니다.
3. 열에 NULL 삽입
- AUTO_INCREMENT 열에 NULL 값을 삽입하면 자동으로 증가된 값이 사용됩니다.
요약
AUTO_INCREMENT는 데이터베이스에서 고유한 식별자를 자동으로 생성해 주는 강력한 도구입니다. 특히 기본 키를 생성할 때 사용하면 중복 방지와 자동화된 관리가 가능하여 데이터 무결성을 유지하는 데 매우 유용합니다.
출처
OpenAI의 ChatGPT (https://openai.com)
'DB > MySQL' 카테고리의 다른 글
| JOIN (2) | 2025.01.01 |
|---|---|
| SELECT문 실행 순서 (0) | 2024.12.30 |
| DBMS를 사용하는 이유 feat. MySQL (1) | 2024.12.27 |
| SQL (0) | 2024.12.26 |
| INDEX (0) | 2024.12.21 |