Mysql 5.x DataTime 필드 NULL 값처리 / int filed process

Mysql DateTime 필드의 Default 값을 NULL 로 지정 하였더라도 0000-00-00 00:00:00 의 형태로 저장된다.
이 값은 유효한 datetime의 값이 아니므로 에러를 유발한다.

JDBC Connection으로 mysql을 사용할 경우 connection String 에 아래에서 보이듯 &zeroDateTimeBehavior=convertToNull 스트링을 추가해 줘서
유효하지 않은 0000-00-00의 datetime 의 값을 NULL 로 처리 해 줄 수 있다.
jdbc:mysql://127.0.0.1:3306/db_name?useUnicode=true&characterEncoding=euckr&zeroDateTimeBehavior=convertToNull

Mysql 5.0 이상 Primiary Field 의 경우 ( eei_Code int(11) Not NULL auto_increment 로 생성된) insert 시 ' 와 같이 입력하였을때
에러를 유발한다. 이 경우 my.cnf 의 sql_mode를 재정의 해주거나 (STRICT_TRANS_TABLES 삭제) '를 0으로 변환하면 sequence가 자동증가 되어 저장된다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 마법사 | 2008/03/03 16:23 | DataBase | 트랙백(1) | 덧글(0)
트랙백 주소 : http://magicwand.egloos.com/tb/1778937
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from nakaikana at 2008/09/09 20:14

제목 : myssql date default 값
date type인 columne에 size가 0 이 빈 string을 넣으면 자꾸 0000-00-00 이렇게 들어가 버려서 =_ = 헤맸는데, 알고보니 date type은 알아서 0000-00-00 으로 변형해서 넣는다고 합니다. (아무리 null 허용을 하더라도.. ) http://magicwand.egloos.com/tag/mysql/page/1 그래서 검색에 검색을 하여 위 블로그에서 setting을 하면 된다는 사실을 알았지만;; 형편......more

:         :

:

비공개 덧글



< 이전페이지 다음페이지 >