2016-08-25 3 views

답변

3

DEFAULT clause of CREATE TABLE에서 설명서를 찾을 수 있다면 기본값이 될 수있는 옵션이 매우 제한적이라는 것을 알 수 있습니다.

CREATE TABLE x(y CHAR(12) NOT NULL DEFAULT TODAY); 

이 의미 론적 오류 발생 :

SQL -591: Invalid default value for column/variable (y). 

확장 된 의미가 있습니다 기본적으로

The specified default value is the wrong type or is too long for a column or an SPL-routine variable.

To specify a valid default value for a column, use the DEFAULT clause in a CREATE TABLE statement. To specify a valid default value for a variable in an SPL routine, use the DEFAULT clause in a DEFINE statement.

을 추가

, 수 있는지에 대한 유형 기반의 제한이 있습니다 , CHAR 유형 C 럼에 대해 TODAY의 디폴트를 작성할 수 없습니다.

DATE 열 (TODAY의 기본값을 유효하게 적용 할 수 있음)을 사용하는 것이 훨씬 간단하며 필요할 경우 해당 값을 문자열로 선택하십시오. 로케일 및 데이터 표시와 같은 사소한 세부 사항이 있습니다. DATETIME YEAR TO DAY보다 DATE보다 더 나은 것을 알 수 있습니다. ISO 8601 스타일 표기법을 사용하기 때문입니다. 값은 2016-08-25입니다.

관련 문제