auto_increment 는 증가하는 정수를 새로운 row 가 들어올 때 할당해 주는 문법이다.
create table users(
id int unsigned auto_increment,
uuid binary(16) unique primary key,
login_type int,
login_id varchar(256),
auth int default 0,
pw varchar(256),
phone varchar(13),
name varchar(10),
email varchar(256),
regist_at datetime default now()
);
mysql 에서 위의 쿼리를 실행하면 아래의 오류가 발생한다.
Error Code: 1075. Incorrect table definition; there can be only one auto column and it must be defined as a key 0.0011 sec
* 오류 발생 이유
위와 같은 오류는 기본적으로 auto_increment 는 primary key 속성도 함께 지정해줘야 하기 때문이다.
auto_increment 속성은 유니크한 키 값을 자동으로 생성해주는 명령어로서 테이블 내에서 primary key 를 생성하기 위해 mysql 에서 제공하는 기능이다. 데이터의 무결성을 위해 1개의 테이블 내에서는 1개의 primary key 만을 가지는 것이 원칙이기 때문에 auto_incremnet 를 사용하면 primary key 속성도 지정해 줘야 한다.
* primary key 를 2개 이상 사용하고 싶을 때
CREATE TABLE table_name (a int, b int, primary key(a,b));
위의 코드를 사용하면 2개 이상의 primary key 를 사용할 수 있다.
'Web Programming > mysql' 카테고리의 다른 글
[MysqlWorkbench] mysql workbench result grid 바로 안나오는 문제 (0) | 2023.06.03 |
---|---|
[Mysql] delete on cascade (0) | 2022.12.03 |
[mysql] mac-mysql 정리 (0) | 2022.10.29 |
[mysql] mysql workbench 원격 DB 연결 (0) | 2022.09.19 |