자동 증가(AUTO_INCREMENT) 열이 하나뿐인 테이블이라면 별도의 값을 지정하지 않고도 손쉽게 행을 삽입할 수 있습니다. 기본 문법은 다음과 같습니다.
INSERT INTO 테이블명 SET 컬럼명 = NULL;
또는 아래와 같은 문법을 사용할 수도 있습니다.
INSERT INTO 테이블명 VALUES (NULL);
두 방식 모두 자동 증가 컬럼에 NULL을 전달하면 MySQL이 해당 컬럼의 다음 시퀀스 값을 자동으로 생성해 줍니다.
예제 테이블 생성
실제 동작을 확인하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> CREATE TABLE singleAutoIncrementColumnDemo
-> (
-> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
-> );
Query OK, 0 rows affected (0.62 sec)위 테이블에는 UserId라는 단일 컬럼만 있으며, 이 컬럼은 기본 키이면서 자동 증가 속성을 가집니다.
행 삽입하기
앞서 소개한 두 가지 문법을 사용해 레코드를 삽입해 보겠습니다.
mysql> INSERT INTO singleAutoIncrementColumnDemo SET UserId = NULL; Query OK, 1 row affected (0.18 sec) mysql> INSERT INTO singleAutoIncrementColumnDemo VALUES (NULL); Query OK, 1 row affected (0.11 sec)
두 쿼리 모두 정상적으로 실행되어 각각 한 개의 행이 추가되었습니다.
결과 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> SELECT * FROM singleAutoIncrementColumnDemo;
실행 결과는 다음과 같습니다.
+--------+ | UserId | +--------+ | 1 | | 2 | +--------+ 2 rows in set (0.00 sec)
결과를 보면 UserId 값이 자동으로 1, 2 순서로 증가하며 저장된 것을 확인할 수 있습니다. 이처럼 자동 증가 열만 있는 테이블에는 NULL 값을 명시적으로 전달하는 방식으로 간단하게 행을 삽입할 수 있습니다.