Development Tip

MySQL에서 열과 테이블 이름이 대소 문자를 구분합니까?

yourdevel 2020. 11. 21. 09:12
반응형

MySQL에서 열과 테이블 이름이 대소 문자를 구분합니까?


category_id이라는 열 이름이있는 경우 Category_Id서로 다른가요?

나는라는 테이블이 있다면 category그리고 Category, 그들은 다른가요?


Unix에서 테이블 이름은 대소 문자를 구분합니다. Windows에서는 그렇지 않습니다. 재미 있지 않나요? 각각의 파일 시스템을 좋아합니다. 우연이라고 생각하세요?

즉, Linux 시스템에 배포 할 계획이라면 Linux 기반 MySQL에 대해서도 SQL을 더 잘 테스트하거나 프로드 타임에 신비한 "테이블을 찾을 수 없음"오류에 대비하십시오. 요즘 VM은 저렴합니다.

필드 이름은 대소 문자를 구분하지 않습니다.

편집 : 우리는 클라이언트가 아닌 MySQL 서버 시스템의 운영 체제에 대해 이야기하고 있습니다.


MySQL 문서에서 :

데이터베이스 및 테이블 이름은 Windows에서 대소 문자를 구분하지 않으며 대부분의 Unix에서 대소 문자를 구분합니다. 한 가지 주목할만한 예외는 Mac OS X로, Unix 기반이지만 대소 문자를 구분하지 않는 기본 파일 시스템 유형 (HFS +)을 사용합니다.

열 및 인덱스 이름은 모든 플랫폼에서 대소 문자를 구분하지 않으며 열 별칭도 아닙니다.


데이터베이스 및 테이블 이름의 경우 기본 운영 체제에 따라 다릅니다. 8.2.2를 참조하십시오 . 식별자 대소 문자 구분


당신은 찾을 수 읽을 필요합니다. MySQL에서 대소 문자 구분을 설정할 수 있지만 실제로는 여러 환경에서 작업 할 때만 문제가됩니다.


이상하게도 Windows에서도 MySQL Workbench에서 대소 문자를 구분 하는 것 같습니다 .

우리는 SELECT 문의 결과를 변경하려고 시도했지만 Workbench는 쿼리에 테이블의 기본 키 (하지만 소문자로 표시됨)가 포함되지 않았기 때문에 결과가 읽기 전용이라고 불평했습니다. 적절한 경우 (id 대신 ID) 기본 키로 동일한 쿼리를 실행하면 예상대로 결과를 편집 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/2009005/are-column-and-table-name-case-sensitive-in-mysql

반응형