programing

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

goodsources 2022. 11. 20. 12:20
반응형

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

라고 하는 컬럼명이 있는 경우category_id그리고.Category_Id다른가요?

그리고 테이블이 있다면category그리고.Category다른가요?

Unix 에서는 테이블명은 대소문자를 구분합니다.Windows 에서는 그렇지 않습니다.재밌지 않아?각각의 파일 시스템처럼요이게 우연이라고 생각하세요?

즉, Windows 상에서 개발 중이지만 Linux 머신에 도입할 예정이라면 SQL을 Linux 기반의 MySQL에 대해서도 테스트하거나 Prod 시 원인 모를 "table not found" 오류에 대비하는 것이 좋습니다.요즘은 VM이 싸요.

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

편집: 클라이언트가 아닌 MySQL 서버 머신의 운영체제에 대해 말하고 있습니다.

MySQL 문서:

Windows 에서는, 데이타베이스명과 테이블명은 대소문자를 구별하지 않습니다.또, 대부분의 Unix 에서는 대소문자를 구별합니다.주목할 만한 예외 중 하나는 Unix 기반이지만 대소문자를 구분하지 않는 기본 파일 시스템 유형(HFS+)을 사용하는 Mac OS X입니다.

그리고.

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

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

이상하게도 MySQL Workbench에서는 Windows에서도 대소문자가 구분됩니다.

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

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

반응형