기술
MySQL Data Type Q&A
햇.빛
2020. 4. 27. 22:14
1. 칼럼 추가 시 기존 Row 들의 새로운 칼럼에는 어떤 값이 들어갈까?
- 각 Data Type의 Default Value는 Implicit Defaults와 Explicit Defaults가 존재
- Explicit Value는 DEFAULT 구문으로 명시하여 사용
- 추가하는 칼럼에 Explicit Value가 있다면 기존 Row들에도 해당 Value로 적용
- Explicit Defaults가 없는 경우 NOT NULL vs NULLABLE에 따라 갈림
- NULLABLE인 경우 NULL 값으로 적용
- NOT NULL인 경우 Implicit Value로 적용
* Implicit Defaults
- Numeric Type 은 기본적으로 0, AUTO_INCREMENT의 경우는 물론 다음 값
- Enum을 제외한 String Type은 empty string = '' , ENUM은 가장 처음 값
- DATETIME, TIMESTAMP 는 sql_mode에 따라 복잡하여 추가 정리 필요