database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 25708 게시물 읽기
No. 25708
[질문]4.x 에서는 되었었는데 5.x 에서는 안되는데요..
작성자
이정득
작성일
2006-08-09 12:27
조회수
1,260

일단 쿼리는 아래와 같습니다.

----원본 쿼리--------------------------------------------------------------

SELECT cmusr_name, cmusr_level, cmusr_place, cmusr_position,
gwplin_name, gwmepo_subject, gwcoin_logo
FROM gw_com_info, cms_user cur
LEFT OUTER JOIN gw_member_position ON cmusr_position = gwmepo_seq
LEFT OUTER JOIN gw_place_info ON cmusr_place = gwplin_seq
WHERE cmusr_userid = 'testid' AND cmusr_pwd = 'test1234'

--------------------------------------------------------------------------

 

4.x 버젼에서는 분명 위의 쿼리가 실행되었으나 5.x 버젼에서는 아래와 같은 에러를 발생시킵니다.

 

Unknown 칼럼 'cmusr_position' in 'on clause'

 

이유인 즉 얼핏 보니 cmusr_position 이라는 필드를 찾지 못하고 있는 듯 보였습니다.

그래서 아래처럼 수정하였습니다.

 

----원본 쿼리--------------------------------------------------------------

SELECT cmusr_name, cmusr_level, cmusr_place, cmusr_position,
gwplin_name, gwmepo_subject, gwcoin_logo
FROM cms_user cur, gw_com_info --위치 변경
LEFT OUTER JOIN gw_member_position ON cmusr_position = gwmepo_seq
LEFT OUTER JOIN gw_place_info ON cmusr_place = gwplin_seq
WHERE cmusr_userid = 'testid' AND cmusr_pwd = 'test1234'

--------------------------------------------------------------------------

 

테이블의 위치를 변경시키니까 쿼리가 정상적으로 실행되더군요...

(참고로 cmusr_position 은 cms_user 라는 테이블에 포함되어 있는 필드입니다.)

하지만 저 부분이 문제입니다. 프로그램 전체가 4.x 기반으로 되어 있기 때문에 저걸 하나 하나 찾아서 수정할 수 있는 여건이 안됩니다. 테스트도 문제구요...

 

어떻게 한번에 처리할 수 있는 방법 없을까요?

어떤 설정이나 꽁수(^^;) 라도 있으시면 알려주세요.

 

미리 감사 드립니다.~ 제발.. ㅠ ㅠ

이 글에 대한 댓글이 총 2건 있습니다.

조인문에서 일반적으로

SELECT t1.col, t2.col

     FROM tablename1 t1, tablename2 t2

     WHERE t1.id=t2.id AND t1.col='검색어' 

이런식으로 테이블의 구분자를 넣어서 합니다.

어찌 되어서 잘 되었다면 그렇게 하시고

 

쿼리문 찾아서 수정하는 것은 에디터에서 디렉토리 안에 있는 파일 검색으로 검색하여 수정하면 금방 할 것 같네요.

정왕균(areakr)님이 2006-08-09 14:34에 작성한 댓글입니다.

답변 감사합니다.^^

그러나 저러한 쿼리문을 포함하고 있는 규모가 좀 큰 시스템이라... 쿼리문을 하나하나씩 찾아서 본문에서 언급한대로 바꾸는 것은 어려울 듯 합니다.(php 파일이 약 200여개, C로 만들어진 데몬 프로그램, 웹메일 프로그램 등)

정 방법이 없으면 4.x 버젼으로 다시 마이그레이션 하려고 생각중입니다.

이정득님이 2006-08-09 15:49에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
25712replication 관련 [3]
CoolImpact
2006-08-09
1675
25711utf8 관련 [4]
가입자
2006-08-09
4785
25709회원별 통계 쿼리 질문입니다. [6]
이창민
2006-08-09
2585
25708[질문]4.x 에서는 되었었는데 5.x 에서는 안되는데요.. [2]
이정득
2006-08-09
1260
25707캐릭터셋 변경방법 알려주세요.. [1]
유은영
2006-08-09
1871
25706어떤 쿼리가 더 좋을까요?
사랑뉘
2006-08-09
1062
25705ㅤㅂㅞㄺ, ㅤㅅㅏㅀ, ㅤㅂㅔㄽ 등 한글의 없는글자 DB에 넣기!! [1]
거시기
2006-08-08
2558
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다