기술

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에 따라 복잡하여 추가 정리 필요