DB/maria

[mariaDB] 쿼리 대소문자 구분

기록중.. 2023. 1. 6. 17:45

[mariaDB] 쿼리 대소문자 구분


Windows에서는 잘 되던 것이 리눅스 환경으로 배포하면 가끔 테이블을 못 찾는다는 에러가 뜬다. Table ${Table name} doesn't exist 그 이유는 Windows에서는 디렉토리와 파일에 접근할 때, 대소문자를 구분하지 않지만 Linux계열은 구분한다. 즉, Linux계열에서 쿼리는 대소문자를 정확히 해서 테이블명과 컬럼명을 찾아야한다.

 

mariadb를 기본 설치했다면 /etc/my.cnf 파일에 lower_case_table_names = 1를 추가해야 된다.

 

value meaing
0 CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다. SELECT 나 Insert 사용시에도 대소문자를 구분해서 사용해야 한다. 대소문자를 구별하는 OS 에서만 의미가 있고 Windows/Mac OS X 에 는 적용되지 않는다
1 테이블과 DB 이름을 소문자로 생성하며 참조시에는 소문자로 변경하여 처리한다. 기존에 대문자가 포함되어 생성한 테이블과 DB 는 문제가 될 수 있다.
2 CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다. 참조시에는 소문자로 변경한다. 대소문자를 구분하지 않는 파일 시스템을 가진 OS(Mac OS X) 에서만 동작한다.

 

위 표를 보면 알듯이 설정을 한 후에 데이터가 생성되어야 하기 때문에
다시 DATABASE를 지우고 새로 생성해야 한다.
생성한 다음 dump 파일을 넣어 주면 된다.

 

 

'DB > maria' 카테고리의 다른 글

[mariaDB] centos mariaDB 접근 사용자 / 생성 / 권한 / 삭제  (0) 2022.03.21
[mariaDB] 컬럼에 숫자 체크  (0) 2021.03.26