programing

MariaDB/MySQL 쿼리는 대소문자를 구분합니까?

goodjava 2022. 11. 20. 11:13

MariaDB/MySQL 쿼리는 대소문자를 구분합니까?

그 질문들이 대소문자를 구분하는지 알고 싶을 뿐입니다.같은 질문인가요?

SELECT * FROM Users WHERE login="john";
SELECT * FROM Users WHERE login="John";
SELECT * FROM Users WHERE login="JOHN";
SELECT * FROM Users WHERE login="jOHn";

내 콘솔로 시도해보니 모두 작동했지만, Hibernate나 다른 것을 사용할지 확인하고 싶다.

감사합니다!

MySQL 문서에 따르면

기본 문자 세트와 조합은 latin1과 latin1_swedish_ci이므로 비바이너리 문자열 비교에서는 기본적으로 대소문자가 구분되지 않습니다.

질문의 두 번째 부분에 대해 - 이 SO 답변은 검색자가 대소문자를 구분하도록 구성하는 방법을 보여줍니다.

MariaDB 문서에서는 OS에 따라 다릅니다.Windows 의 경우는, 대소문자를 구별하지 않습니다.Linux의 경우 데이터베이스, 테이블, 테이블 에일리어스 및 트리거 이름은 대소문자를 구분하지만 인덱스, 열, 열 에일리어스, 저장 루틴 및 이벤트 이름은 대소문자를 구분하지 않습니다.

MariaDB(Ver.10.3.18-MariaDB-0+deb10u1)의 Linux(Debian 10) Box의 예를 나타냅니다.누군가에게 도움이 될지도 몰라!!

MariaDB [niffdb]> select * from account_heads where head_desc="Fuel";
+---------+-----------+
| head_id | head_desc |
+---------+-----------+
|       1 | Fuel      |
+---------+-----------+
1 row in set (0.004 sec)

MariaDB [niffdb]> select * from account_heads where head_desc="FUEL";
+---------+-----------+
| head_id | head_desc |
+---------+-----------+
|       1 | Fuel      |
+---------+-----------+
1 row in set (0.001 sec)

MariaDB [niffdb]> select * from account_heads where head_desc="fUEL";
+---------+-----------+
| head_id | head_desc |
+---------+-----------+
|       1 | Fuel      |
+---------+-----------+
1 row in set (0.001 sec)

MariaDB [niffdb]>

언급URL : https://stackoverflow.com/questions/38154668/mariadb-mysql-querys-are-case-sensitive