-
create table tbl_article ( article_no int not null auto_increment primary key, title varchar(200) not null, content text null, writer varchar(50) not null, regdate timestamp default now(), viewcnt int default 0 );
게시글 등록할 때의 시간이 자동으로 등록되도록 timestamp의 default now()를 이용하여 쿼리를 작성했는데 자꾸 null값만 생성되는 오류사항이 있었다. 문제는 DB툴에서 직접 데이터를 넣어주면 regdate가 잘 들어가는데 서버를 실행하여 직접 게시글을 작성하거나 테스트코드를 돌리면 계속 널값이 들어간다는 것.
<insert id="create"> INSERT INTO tbl_article ( article_no , title , content , writer , regdate , viewcnt ) VALUES ( #{articleNo} , #{title} , #{content} , #{writer} , #{regDate} , #{viewCnt} ) </insert>
원인은 insert 쿼리문에 있었다.
default는 아무 값도 주지 않을 때를 의미하는 것인데 null값을 줘버리니까 db에 그렇게 들어간 것이다
따라서 위 쿼리에서 regdate와 #{regDate} 부분을 아예 지워버려야 한다.
'Programming > 에러노트' 카테고리의 다른 글
input값 에러 (0) 2022.06.24 getter/setter 오류 (0) 2022.06.20 [SpringFramework/스프링프레임워크] No suitable driver found for jdbc (0) 2022.06.08 Debug모드로 서버 실행 (0) 2022.05.04 Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias (0) 2022.05.03 댓글