오토커밋 안될때..
데이터를 넣고나서 삭제할려고 하니깐 아래의 메세지가 나왔다...
Error Code: 1175
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
이건 또 뭔가 싶어..찾아보니..아래꺼를 한번 실행시켜주고 하란다.
SET SQL_SAFE_UPDATES=0;
잘됨!
windows7 에서 MySQL 재설치
1. 제어판에서 삭제
2. programfiles 에서 폴더 삭제
3. 콘솔창을 관리자모드로 켜서 서비스삭제
sc delete MySQL
4. C:\ProgramData\MySQL 폴더 삭제
5. 재부팅
다시 설치~! 아...왜 이렇게 만들어 놓은거임..ㅠㅠ
한글인코딩 관련 왕삽질
여기링크 참조함
http://ceomk.tistory.com/47
utf8 인코딩 관련해서 세팅하는거는 모르는 사람에게는 악마적인 수준인듯?!
+ 문서 인코딩이 UTF8 인지 확인한다.
+ 문서의 언어셋(charset) 이 UTF8 인지 확인한다.
+ DataBase 의 언어셋이 UTF8 인지 확인한다.(utf8_unicode_ci 또는 utf8_general_ci)
+ DataBase 의 테이블의 언어셋이 UTF8 인지 확인한다.(위와 동일)
+ 테이블의 컬럼중 char가 들어가는 컬럼들의 언어셋이 UTF8 인지 확인한다.
/* 위 사항만 확인하면 대부분 한글깨짐 현상을 미연에 방지할 수 있다. */
+ 문서의 언어셋(charset) 이 UTF8 인지 확인한다.
+ DataBase 의 언어셋이 UTF8 인지 확인한다.(utf8_unicode_ci 또는 utf8_general_ci)
+ DataBase 의 테이블의 언어셋이 UTF8 인지 확인한다.(위와 동일)
+ 테이블의 컬럼중 char가 들어가는 컬럼들의 언어셋이 UTF8 인지 확인한다.
/* 위 사항만 확인하면 대부분 한글깨짐 현상을 미연에 방지할 수 있다. */
위에꺼는 기본이다...
근데 미치겠는거는 위에꺼 다 확인해도 안되더란 말이다!!
내가 처한 상황은 이렇다.
case1
- php페이지에서 한글데이터를 mysql로 인서트
- 데이터가 깨져서 들어감.
- 그런데 읽어올때는 잘 읽어옴..ㅡㅡ;
case2
- php페이지에서 $db->set_charset("utf8"); 을 사용해서 강제로 인코딩하여 한글로 넣음
- DB에 한글로 잘 들어감.
- php페이지에서 읽을때 ??? 이렇게 표시됨
이렇다는 말은....
1. DB에 데이터가 들어갈때에는 DB에서 인코딩을 처리하지 않는다.
2. 나올때에는 그 데이터를 utf8로 변환한다.
라는 생각이들었다.
그래서 my.ini/my.cnf 파일에 다음과 같이 추가
[mysqld]
skip-character-set-client-handshake
skip-character-set-client-handshake
저게 무슨말이냐면.. 클라이언트에서 들어오고 나가는 값을 DB에서 처리하지 않는다는 말이다.
그러고나니 OK!
'개발관련 > 컴퓨터 문제 해결사' 카테고리의 다른 글
메이븐 메타데이터의 싱크가 안맞아서 에러날때.... (0) | 2011.06.10 |
---|---|
이클립스에서 /WEB-INF/tags 폴더가 인식이 안되고 빨간줄 그어질때... (0) | 2011.01.07 |
톰캣 OutOfMemory 에러 해결하기 - JVM의 메모리 늘리기 (0) | 2010.09.17 |
컴터정보 얻는곳!! (0) | 2007.10.31 |