오늘은 공부 중/DB

[MYSQL] AI를 PK로 삼고 싶지 않을 때 / 대소문자를 구분하고 싶을 때

이도토리 2021. 9. 6. 01:09

1.  AI를 PK로 삼고 싶지 않을 때 

 

AUTO_INCREMENT컬럼을 pk에서 빼면 에러가 날 때가 있다.

Incorrect table definition; there can be only one auto column and it must be defined as a key

 

그럴 때는 

UNIQUE KEY로 생성 될 경우, 결합 PK의 후행컬럼으로 생성되거나 PK에서 제외 되어도 상관 없다.
출처: https://adbancedteam.tistory.com/149 [aDBanced Team]

 

https://choelhee.tistory.com/15

 

mysql auto increment 를 포함한 테이블에서 pk 생성시 주의점

mysql에서 dump 한 ddl 을 그대로 적용하려는데 오류가 발생했다. 해당 테이블은 auto increment 컬럼을 가지고 있었는데 ddl 문은 다음과 같았다. ddl create table t1( seq bigint(20) not null auto_increment,..

choelhee.tistory.com

 

2.  mysql 테이블에서 대소문자를 구분하고 싶을 때

 

varchar 대신 varbinary를 자료형으로 사용하면 된다.

그런데 그렇게 하면 BLOB 처리되어 값을 돌려받을 때도 다른 작업이 필요하기 때문에

varchar이되, binary DEFAULT null 옵션을 주는 식으로 구현한다.