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 31255 게시물 읽기
No. 31255
특정 테이블에 쿼리문 사용시 데이터베이스명을 명시해줘야 하는 현상
작성자
mattqnrp
작성일
2019-08-12 12:26
조회수
2,137

 안녕하세요,

 

기존에 스프링 프로젝트를 만들며 윈도우 10 환경에서 mysql 8.0.15 커뮤니티 서버 버전을 사용중이었습니다.

 

이곳에서 pjt_spring_1 이란 데이터베이스 스키마를 만들어서 테이블작업을 했는데요,

 

최근에 CentOS7에 war배포 서버를 구축하여 프로젝트를 서버에 올리려 시도했습니다.

 

CentOS7 환경에서 mysql 8.0.17 커뮤니티 서버 버전을 사용중이구요

 

사용자 id를 하나 만들어서 오로지 pjt_spring_1 데이터베이스에만 모든 권한을 주었습니다.

 

그런데 버전 차이의 문제인지

 

특정테이블 (제 데이터 베이스 테이블 명으로는 'member' 테이블) 에 쿼리문을 사용시에 syntax 에러가 납니다.

 

ex) select * from member;

 

그런데 테이블명 앞에 데이터베이스명을 붙여주면 조회가 잘됩니다.

 

ex) select * from pjt_spring_1.member;

 

그래서 현재 war를 배포하면 저 테이블이 필요한 부분에서 BadSQLGrammer 익셉션이 납니다.

 

무엇이 문제인지 잘 모르겠네요 ..

 

꼭 저 이름을 명시하지 않고 사용할 수 있는 방법은 없나요?

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

8.0.17 버전부터

member라는 단어가

시스템 Keyword로 되면서 발생하는 오류로 보입니다.

 

테이블명을 변경하시는 것이 좋아 보입니다.

박인호(paerae)님이 2019-08-12 14:58에 작성한 댓글입니다.

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-17.html 문서에서

Note

ARRAY and MEMBER now are reserved words and cannot be used as identifiers without identifier quoting

 

이부분을 말씀하시는건가요?

 

결국 버전을 하위로 내리든가 테이블명을 바꾸든가 해야하는거군요 .. 감사합니다.

글쓴이님이 2019-08-12 15:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
31258CentOS7 MySQL 8.0.15 질문입니다.
김말포
2019-08-27
3538
31257쿼리 처리 순서 질문입니다. [1]
원재호
2019-08-16
2105
31256트리거 쿼리 하루종일 오류 나는데 1064 오류 확인좀 부탁드립니다 ㅠ [1]
hi
2019-08-13
2024
31255특정 테이블에 쿼리문 사용시 데이터베이스명을 명시해줘야 하는 현상 [2]
mattqnrp
2019-08-12
2137
31254프로시저 파라미터 입력 방법 (in사용시) [2]
김달풍
2019-08-02
1955
31253phpmyadmin 가져오기 구문 오류 문제 입니다
공부중
2019-07-26
2031
31251모델링 질문 [3]
jhj
2019-07-21
1999
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다