Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블 생성 시 AUTO_INCREMENT 시작값 설정과 ZEROFILL 활용법 – INSERT 시 값이 자동으로 채워지는 방식

AUTO_INCREMENT 초기값과 ZEROFILL을 함께 적용한 테이블 만들기

예제를 통해 직접 확인해 보겠습니다. StudentId 컬럼의 AUTO_INCREMENT 시작값을 100으로 지정하고, 동시에 ZEROFILL 옵션까지 적용한 테이블을 생성합니다.

mysql> create table DemoTable
(
    StudentId int(7) ZEROFILL NOT NULL AUTO_INCREMENT,
    PRIMARY KEY(StudentId)
)AUTO_INCREMENT=100;
Query OK, 0 rows affected (0.48 sec)

이제 INSERT 명령으로 레코드를 추가해 보겠습니다. StudentId 값을 명시적으로 입력하지 않으면, AUTO_INCREMENT 설정에 따라 첫 번째 값은 100부터 자동으로 시작됩니다. 또한 테이블 생성 시 ZEROFILL 옵션을 지정했기 때문에, 남는 왼쪽 자릿수는 모두 0으로 채워집니다.

mysql> insert into DemoTable values();
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+-----------+
| StudentId |
+-----------+
| 0000100   |
| 0000101   |
| 0000102   |
| 0000103   |
+-----------+
4 rows in set (0.00 sec)

동작 원리 정리

  • AUTO_INCREMENT=100: 자동 증가 값이 100부터 시작됩니다.
  • ZEROFILL + int(7): 숫자의 앞자리를 0으로 채워 항상 7자리로 표시합니다.
  • INSERT 시 값 생략: 컬럼 값을 지정하지 않아도 자동으로 다음 증가 번호가 할당됩니다.

이처럼 AUTO_INCREMENT와 ZEROFILL을 함께 사용하면, 일련번호 관리가 편리해질 뿐만 아니라 고정된 자릿수 형태로 데이터를 일관성 있게 유지할 수 있습니다.