MySQL에서 ZEROFILL로 사용자 지정 자동 증가 설정하기
MySQL에서는 ZEROFILL 옵션과 AUTO_INCREMENT를 함께 사용하면, 자동 증가되는 숫자 앞을 0으로 채워 고정된 자릿수 형식으로 표시할 수 있습니다. 예를 들어 필드 너비를 7로 지정하면 101이라는 값이 0000101처럼 출력됩니다.
1. 테이블 생성
먼저 UserId 컬럼에 ZEROFILL과 AUTO_INCREMENT를 설정한 테이블을 생성해 보겠습니다.
mysql> create table DemoTable1831
(
UserId int(7) zerofill auto_increment,
PRIMARY KEY(UserId)
);
Query OK, 0 rows affected (0.00 sec)
2. 레코드 삽입
insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 첫 번째 레코드에는 직접 값을 지정하고, 이후 레코드들은 자동 증가 기능으로 값이 채워지도록 빈 값으로 삽입합니다.
mysql> insert into DemoTable1831 values(101);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1831 values();
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1831 values();
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1831 values();
Query OK, 1 row affected (0.00 sec)
3. 결과 확인
select 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select * from DemoTable1831;
실행 결과는 다음과 같습니다. UserId 필드 너비가 7로 설정되어 있으므로, 모든 값 앞에 0이 채워져 출력되는 것을 확인할 수 있습니다.
+---------+
| UserId |
+---------+
| 0000101 |
| 0000102 |
| 0000103 |
| 0000104 |
+---------+
4 rows in set (0.00 sec)
참고 사항
ZEROFILL은 데이터가 화면에 표시되는 형식에만 영향을 줄 뿐, 실제 저장된 값은 그대로 유지됩니다. 또한 ZEROFILL을 적용하면 해당 컬럼에 자동으로 UNSIGNED(부호 없음) 속성이 부여되므로 음수는 저장할 수 없다는 점도 함께 기억해 두면 좋습니다.