MySQL로 간혹가다 작업 도중 분명히 테이블이 존재하는데
Table '테이블명' doesn't exist
라는 문구가 나올때가 존재한다.
윈도우에서는 대부분 대소문자 구분없이 설치가 되지만,
간혹가다가 리눅스용 MySQL은 대소문자 구분하는 형식으로 설치가 되있는 경우가 있다 .
show variables like 'lower_case_table_names';
다음과 같은 명령을 실행하고 확인 하였을 경우
lower_case_table_names의 값이 0인지 1인지 2인지를 확인해야 한다.
본인의 테스트 서버는 0이어서 오류가 났었던 것이다.
보통 2는본적이 없어서 모르겠고 0 또는 1인것을 보았었다.
0일 경우 : 대소문자 구분함
1일 경우 : 대소문자 구분안함
본인은 대소문자 구분을 하지 않기위하여 lower_case_table_names의 값을 1로 설정을 해주고자 한다.
MySQL의 my.cnf 파일을 건드려 주어야 하는데
보통은 /etc/my.cnf에 존재한다.
vi로 my.cnf 파일을 보도록 하자
접속하다보면 [mysqld] << 이영역이 있을텐데
영역의 맨밑에
lower_case_table_names = 1
라고 설정을 해주도록 하자
비교를 하기 위해 한줄 내려서 작성하였다.
붙여서 상관은 없다
위치는 [mysqld] < 밑에 나열된 명령어들 그리고 다음 영역의 [] 가 나오기 전에만 작성해 주면
되겠다.
저장하고 나온다음에 mysqld 서비스를 재시작 해주었다.
쿼리에서 다시 명령어를 실행하여 대소문자 구분값이 변경되었는지 확인해보자
본인은 1로 잘 변경이 되었다.
한번 다시 아까 오류난 쿼리를 재실행 해보도록 하겠다.
정상적으로 소문자 테이블인대 대문자로 명령어를 실행해도 잘나온다
유의하도록 하자...
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자 (0) | 2014.08.15 |
---|---|
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...) (0) | 2014.08.12 |
MySQL 인코딩 UTF-8 설정하기 [한글깨짐문제 해결] (7) | 2014.08.12 |
MySQL 시퀀스 auto_increment 생성 및 초기화하기 (0) | 2014.08.11 |
MySQL GROUP CONCAT 이용하여 쿼리목록을 컬럼 하나로 보여주기 (세로를 가로로) (0) | 2014.07.09 |