2009-12-10 7 views

답변

4

난 당신이 저장 '파일 이름'과 열에서 '파일 이름'을 의미하는 가정이 그 UNIQUE 제약 조건 (예 : PRIMARY KEY)이 있습니까?

그렇다면 그렇습니다. 테이블에 CREATE 또는 ALTER을 입력하면 MySQL에 대소 문자를 구분하도록 지시해야합니다. 이는 VARCHAR(...) COLLATE some_collation_cs (see) 또는 간단히 VARCHAR(...) BINARY으로 수행 할 수 있습니다.

+0

감사합니다! 열을'varbinary'로 설정하면됩니다. – Johan

0

문자열을 저장할 때 MySQL은 항상 대소 문자를 유지합니다.

문자열을 검색 할 때 대개 대/소문자를 구분하지 않는 검색을 수행합니다. 이것은 데이터 정렬에 따라 다르지만 기본값은 대소 문자를 구분하지 않습니다.

는 대소 문자를 구분 검색을 사용하면 데이터 정렬을 변경할 수 있습니다 수행합니다

SELECT x FROM table WHERE y LIKE '%Filename%' COLLATE latin1_general_cs 

더 많은 정보를 원하시면 case sensitivity를 참조하십시오.

+0

예. 그렇지만 "파일"과 "파일"을 저장할 수 있습니까? 중복 된 항목으로 가져 오지 않습니까? – Johan

2

mysql 데이터베이스에 "Filename"과 "filename"을 저장할 수 있습니까? 당신은 삽입하고 열이, UNIQUE 자사의 데이터 정렬은 대소 문자를 구분합니다 있는지 확인하는 경우

:

CREATE TABLE t_ci (test VARCHAR(50) PRIMARY KEY COLLATE latin1_swedish_ci); 

INSERT 
INTO t_ci 
VALUES 
('Filename'), 
('filename'); 

-- Fails 

CREATE TABLE t_cs (test VARCHAR(50) PRIMARY KEY COLLATE utf8_bin); 

INSERT 
INTO t_cs 
VALUES 
('Filename'), 
('filename'); 

- Succeeds 
관련 문제