리자

mysql 5.0.x 공백문자인식

서버 셋팅상에서 MYSQL 5.0.X버전에서는 sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

이구문이 추가되있어야 공백문자를 인식한다는군요^^

[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]

댓글 2개

공백문자 인식이 어디에서 문제가 되나요??? 궁금해서요^^
5.0 이상에서 기본적인 세팅값은 sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"인데 여기서 STRICT_TRANS_TABLES 값이 있으면 테이블 필드의 정의에 따라 값이 정확이 입력이 되어야 insert가 됩니다. 예를 들면 no integer default ''이라고 정의했을 때 integer 값은 공백문자를 가질 수 없으므로 정의 자체도 문제거니와 공백문자 값을 insert 하려고 하면 에러가 발생합니다. 그래서 아래 버젼과 호환을 이루기 위해서는 STRICT_TRANS_TABLES 를 sql-mode에서 제거해 주어야 합니다. 관리자님의 설명은 그래서 잘못되었구요. 원래 의미는 트랜잭션 테이블에 값을 입력할 수 없다면 쿼리 구문 수행을 금지한다는 뜻이구요. 대부분의 php보드 생성 및 사용을 보면 위의 예처럼 올바른 정의와 올바른 값을 insert하지 않는 경우가 많기 때문에 만일 앞으로 mysql에서 sql-mode를 기본값으로 정의해서 사용하는 호트팅 서버를 쓰게 될 경우에는 소스를 수정해야할 부분들이 많게 됩니다.

NO_AUTO_CREATE_USER는 자동 사용자 생성 금지로 grant로 생성하던 것을 막겠다는 뜻이구요,

NO_ENGINE_SUBSTITUTION는 엔진 대체 금지로 create 이나 alter 명령시 엔진을 바꾸는 일이 있는데 그것을 막습니다.

참고: http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
댓글을 작성하시려면 로그인이 필요합니다.

팁게시판

6,077건

디자인과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
제목 글쓴이 날짜 조회
08-10-20 조회 1,335
08-10-11 조회 1,272
08-09-20 조회 3,006
08-09-20 조회 1,536
08-09-18 조회 1,430
08-09-18 조회 2,203
08-09-17 조회 2,114
08-09-05 조회 3,346
08-09-03 조회 1,597
08-08-18 조회 1,812
08-08-17 조회 1,471
08-08-13 조회 2,293
08-07-30 조회 2,270
08-07-28 조회 3,080
08-07-22 조회 4,469
08-07-22 조회 2,903
08-07-10 조회 1,912
08-07-08 조회 1,996
08-06-30 조회 2,779
08-06-30 조회 2,186
08-06-30 조회 2,532
08-06-14 조회 1,513
08-06-11 조회 5,963
08-06-05 조회 2,207
08-05-20 조회 3,637