리자

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
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
09-09-11 조회 5,809
09-08-14 조회 5,305
09-07-24 조회 5,998
09-07-17 조회 4,010
09-06-26 조회 5,224
09-06-25 조회 4,147
09-06-18 조회 5,385
09-05-16 조회 3,849
09-04-30 조회 3,441
09-04-02 조회 7,282
09-03-10 조회 3,415
09-01-30 조회 2,918
09-01-25 조회 3,587
09-01-24 조회 3,693
09-01-23 조회 3,867
09-01-20 조회 5,876
09-01-20 조회 4,311
09-01-14 조회 5,279
09-01-10 조회 3,100
09-01-09 조회 2,991
09-01-06 조회 2,940
09-01-05 조회 5,196
08-12-29 조회 4,362
08-12-20 조회 3,928
08-12-13 조회 4,539
08-12-12 조회 4,613
08-12-11 조회 2,726
08-11-26 조회 4,599
08-11-25 조회 3,723
08-11-25 조회 2,910
08-11-25 조회 4,477
08-11-25 조회 4,358
08-11-21 조회 4,350
08-11-20 조회 3,710
08-11-19 조회 3,984
08-11-19 조회 4,232
08-11-18 조회 4,006
08-11-15 조회 2,879
08-11-14 조회 3,240
08-11-13 조회 3,867
08-11-12 조회 9,999
08-02-22 조회 5,664
08-02-21 조회 4,606
08-02-21 조회 7,112