리자

mysql 5.0.x 공백문자인식

· 2008-09-01 (월) 17:02:18 · 4512 · 2

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

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

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

댓글 2개

2008-09-08 (월) 23:18:38
공백문자 인식이 어디에서 문제가 되나요??? 궁금해서요^^
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건
+
제목 글쓴이 날짜 조회
12-01-11 조회 2,689
12-01-11 조회 1.2만
12-01-10 조회 2,780
12-01-08 조회 3,393
12-01-05 조회 5,266
11-12-29 조회 2,972
11-12-27 조회 2,767
11-12-25 조회 2,941
11-12-22 조회 3,313
11-12-14 조회 2,831
11-12-12 조회 3,452
11-11-28 조회 3,331
10-10-19 조회 2,785
08-09-05 조회 3,695
08-09-05 조회 3,521
08-06-14 조회 3,269
08-04-22 조회 3,536
08-04-17 조회 3,551
07-10-03 조회 4,158
07-10-03 조회 3,566
07-10-03 조회 7,239
07-10-03 조회 4,515
07-10-03 조회 3,209
07-10-03 조회 2,789
07-10-02 조회 3,526
07-10-02 조회 3,058
07-09-27 조회 4,962
07-09-27 조회 3,783
06-09-26 조회 3,475
06-09-26 조회 4,685
06-09-22 조회 3,857
06-09-22 조회 3,466
06-09-22 조회 4,200
06-09-21 조회 4,159
06-08-18 조회 3,636
05-11-30 조회 4,694
05-07-15 조회 4,545
05-03-23 조회 4,606
05-03-14 조회 3,255
05-03-13 조회 2,638
04-08-05 조회 5,724