H2 데이터 베이스 2.x 버전 에서 SYDATE 사용 불가


CREATE TABLE BOARD (
	SEQ NUMBER(5)	PRIMARY KEY, 
	TITLE VARCHAR2(200), 
	WRITER VARCHAR2(20), 
	CONTENT VARCHAR2(2000), 
	REGDATE DATE DEFAULT SYSDATE, 
	CNT NUMBER(5)	DEFAULT 0 
);


H2 데이터베이스에서 위와 같이 SQL코드를 실행하면 “Column “SYSDATE” not found; SQL statement:” 라는 오류가 발생합니다.


https://github.com/h2database/h2database/issues/3387

위에 글을 참고하고, 구글링을 해본 결과 H2 데이터베이서가 2.x로 업그레이드 되면서 더이상 SYSDATE는 지원을 하지 않는듯 합니다.

그래서, SYSDATE 대신에 CURRENT_TIMESTAMP() 또는 NOW()를 사용하시면 문제 없이 작동할겁니다.




CREATE TABLE BOARD (
	SEQ NUMBER(5)	PRIMARY KEY, 
	TITLE VARCHAR2(200), 
	WRITER VARCHAR2(20), 
	CONTENT VARCHAR2(2000), 
	REGDATE DATE DEFAULT CURRENT_TIMESTAMP(), 
	CNT NUMBER(5)	DEFAULT 0 
);


위와 같이 수정하면 정상적으로 실행이 됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다