'MySQL'에 해당되는 글 3건
- 2008/07/03 으악 mysql한테 낚여서 삽질만 6시간 (2)
- 2008/06/10 mysql 날짜타입에 기본값으로 현재시간넣기
- 2007/01/19 MySQL과 한판 (1)
테이블 하나가 자꾸 수정이 안되고 sql 에서발생.
hibernate 문제인가 아무리봐도 아님.
결국 log4j 설정하고 로그에서 업데이트시 생성되는 쿼리 캐치
(hibernate.cfg.xml에서 show_sql 프로퍼티를 1로 줌
<property name="show_sql">1</property>)
얻은 sql쿼리를 직접 실행.
역시 에러
한줄한줄 지웠다 살리면서 에러범위를 좁혀보니
exists = 1이라는 부분에서 에러
exists는 boolean저장을 위해 tinyint(1) 타입의 컬럼
다른 tinyint(1) 가진 테이블은 문제 없음.
혹시나하고 exists 컬럼명을 exist로 변경
에러없이 성공 lol
아오 슈ㅣ발 미친 exists가 예약어일줄이야
그동안 괸히 옆에있는 double타입 컬럼만 의심하고있었다.
이걸로 날린 내 6시간을 어쩔꺼야 ㅠㅠ
흠 근데 포스팅하면서 생각해보니 옛날 군대에서 쿼리문 작성할때 몇번 본거같기도 하고..
아무튼 오늘의 교훈:
hibernate를 쓸땐 꼭 log4j를 함께돌려서 에러시의 쿼리를 캐치하자.
syntax highlight 되는 쿼리편집기를 사용하자. 예약어따위 친절하게 볼드표시해주신다.
hibernate 문제인가 아무리봐도 아님.
결국 log4j 설정하고 로그에서 업데이트시 생성되는 쿼리 캐치
(hibernate.cfg.xml에서 show_sql 프로퍼티를 1로 줌
<property name="show_sql">1</property>)
얻은 sql쿼리를 직접 실행.
역시 에러
한줄한줄 지웠다 살리면서 에러범위를 좁혀보니
exists = 1이라는 부분에서 에러
exists는 boolean저장을 위해 tinyint(1) 타입의 컬럼
다른 tinyint(1) 가진 테이블은 문제 없음.
혹시나하고 exists 컬럼명을 exist로 변경
에러없이 성공 lol
아오 슈ㅣ발 미친 exists가 예약어일줄이야
그동안 괸히 옆에있는 double타입 컬럼만 의심하고있었다.
이걸로 날린 내 6시간을 어쩔꺼야 ㅠㅠ
흠 근데 포스팅하면서 생각해보니 옛날 군대에서 쿼리문 작성할때 몇번 본거같기도 하고..
아무튼 오늘의 교훈:
hibernate를 쓸땐 꼭 log4j를 함께돌려서 에러시의 쿼리를 캐치하자.
syntax highlight 되는 쿼리편집기를 사용하자. 예약어따위 친절하게 볼드표시해주신다.
'평범한 일상' 카테고리의 다른 글
| 블로그코리아 개편 1주년 (0) | 2008/07/14 |
|---|---|
| 으악 mysql한테 낚여서 삽질만 6시간 (2) | 2008/07/03 |
| 건덕후 (2) | 2008/06/25 |
| 아아... 죽겄다. (8) | 2008/06/13 |
사용자가 들어갈 DB 테이블을 만드는데 row생성시 생성시간을 자동으로 넣고싶었다.
그런데 mysql은 컬럼의 디폴트값에 함수를 넣을 수 없어서 current_date(), now() 따위를 디폴트로 써줄 수가 없다.
사용자를 생성하는 함수쪽에서 직접 날짜를 지정해줘도 되지만 좋은 방법을 찾았다.
timestamp 타입을 사용하면 null일경우 현재시간, 날짜를 자동으로 넣어준다.
해결~
그런데 mysql은 컬럼의 디폴트값에 함수를 넣을 수 없어서 current_date(), now() 따위를 디폴트로 써줄 수가 없다.
사용자를 생성하는 함수쪽에서 직접 날짜를 지정해줘도 되지만 좋은 방법을 찾았다.
timestamp 타입을 사용하면 null일경우 현재시간, 날짜를 자동으로 넣어준다.
해결~
'개발 꿈나무의 하루' 카테고리의 다른 글
| 고민. (0) | 2008/10/04 |
|---|---|
| mysql 날짜타입에 기본값으로 현재시간넣기 (0) | 2008/06/10 |
| 게으름 벗어나기 (3) | 2008/02/26 |
| 아트D 님의 강의 (0) | 2008/02/19 |
댓글을 달아 주세요
얼마전 홈페이지를 게속 만들다가 문득 생각난게 있었다.
대부분의 호스팅은 MySQL이 기본인데 내 개발환경은 Oracle..
그래서 이참에 MySQL을 써보기로 하고 MySQL 5.0.x 압축된 설치파일 없는 윈도우버전을 받았다.
Oracle이나 MySQL이나 별거 있겠어 라는 생각을 사실 하고 있었다.
일단 데몬 켜고끄고 아이디생성하고 권한주고 db만들고 table만들고..등등을 익히는데 하루를 썼다..
군인이라 일할때밖에 공부할 시간이 없다.
그리고 다음날 test로 쓸 데이터들을 넣었다...
그런데 이게 왠일.... 한글이 깨진다...
UTF-8로 만들고 있던 난 한글이 안되는걸 보고 당황했다..
어떻하지..
이때부터 검색과의 싸움이 시작되면서 환경을 UTF-8로 만드는 작업에 들어갔다.
2일동안 씨름한 후 퇴근하기 30분 쯤 전에 난 DB 환경을 완벽하게 UTF-8로 전환하는 데 성공했고,
다시 개발에 힘을 쏟을 수 있게 되었다.
결국 날린시간은 3일....
아까운 시간이긴 하지만 MySQL을 쓰는데 조금은 익숙해진 거 같다.
다음은 AJAX와의 싸움인가...
'개발 꿈나무의 하루' 카테고리의 다른 글
| 무툴이 틀린거냐 내가 틀린거냐. (3) | 2007/03/20 |
|---|---|
| mootools에 대하여 (0) | 2007/03/10 |
| 시멘틱웹? 웹2.0? 다 개소리 (4) | 2007/02/28 |
| MySQL과 한판 (1) | 2007/01/19 |






댓글을 달아 주세요
mysql에서 키워드랑 필드명이랑 동일할때 구분지을 수 있는게 있어요 한번 해당 컬럼을 ` ` 묶어서 해보세요 그럼 될거 같은데용 ' ' 게 아니고 키보드 숫자 1 왼쪽에 있는 ` 입니다
오 몰랐던 팁이네요
하지만 hibernate를 통해 동적으로 생성되는 sql이라 어절수 없었어요