다음 에디터에서는 mysql 테이블 이름 대소문자 무시 구성 방법에 대해 자세히 설명합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라가서 살펴보겠습니다.
Linux에서 MySQL은 기본적으로 테이블 이름에서 대소문자를 구분합니다. mysql이 대소문자를 구분하는지 여부는 lower_case_table_names 매개변수에 의해 결정됩니다. 여기서:
1) lower_case_table_names = 0
은 대소문자를 구분합니다(예: 대소문자 구분), 이것이 기본 설정입니다. 이 설정 후에는 mysql에서 생성된 테이블 이름에 대문자가 있든 없든 아무런 영향을 주지 않으며 로 인용하여 정상적으로 읽을 수 있습니다.
2) lower_case_table_names = 1
대소문자를 구분하지 않습니다(예: 대소문자 구분). 이 설정 후에는 테이블 이름이 하드 디스크에 소문자로 저장되며, MySQL은 저장 및 조회 테이블을 위해 모든 테이블 이름을 소문자로 변환합니다. 이 동작은 데이터베이스 이름과 테이블 별칭에도 적용됩니다.
즉, MySQL이 대소문자를 구분하지 않도록 설정한 후에는 라이브러리나 테이블을 생성할 때 대문자 사용 여부와 상관없이 생성이 성공한 후에는 강제로 소문자로 저장되어야 합니다!
Linux에서 데이터베이스 이름, 테이블 이름, 열 이름, 별칭에 대한 MySQL의 대소문자 규칙은 다음과 같습니다.
1) 데이터베이스 이름과 테이블 이름은 대소문자를 엄격하게 구분합니다.
2) 테이블 별칭은 대소문자를 엄격하게 구분합니다.
3) 열 이름 및 열 별칭은 대소문자를 무시합니다. 모든 대소문자;
4) 변수 이름도 대소문자를 엄격하게 구분합니다.
5) MySQL은 Windows 대문자와 소문자에서 대소문자를 구분하지 않습니다. Linux에서는 대소문자를 구분합니다.
6) 쿼리 시 필드 값의 대소문자를 구분하려면 필드 값에 BINARY 속성을 설정해야 합니다.
a) 설정합니다. 생성 시:
CREATE TABLE T(A VARCHAR(10) BINARY);
b) alter를 사용하여
을 수정합니다. 다른 운영 체제에서도 정상적으로 실행되는 것이 가장 좋습니다. 테이블을 디자인할 때 모두 소문자로 변환하는 것이 좋습니다! !
mysql에서 대소문자를 구분하지 않도록 수정:
mysqladmin -uroot -p shutdown // 사용 안전 모드데이터베이스 닫기
my.cnf 수정 //다음 설정 줄 추가
....
[mysqld]
lower_case_table_names=1
....
mysql 시작
위 내용은 mysql 테이블명의 대소문자 구성을 무시하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!