안녕하세요, 이미 파이썬을 통해 mysql 테이블에 항목이 있는지 확인하려고합니다. 이미 항목이 있는지 확인하기 위해 사용하는 키를 PID라고하며 ascii_bin 데이터 정렬을 사용합니다. 내 문제는 내가 같은 것을 시도 할 때이다. ...msqldb 쿼리가 대/소문자를 구분하지 않습니다.
q = """select * from table_name where PID = '%s'"""%("Hello")
db = MySQLdb.connect("xxxx", "xxxx", "xxxx","temp",cursorclass=MySQLdb.cursors.DictCursor)
cursor = db.cursor()
res = cursor.execute(q)
rowOne = cursor.fetchone() #fetches the row where pid = "hello"
rowOne는 pid = hello 인 행이된다. 그러나 내가 sqlyog를 사용하고 쿼리를 실행하면 pid = Hello (대소 문자를 구분하는 쿼리로 올바르게 기능하는) 행을 제대로 출력합니다. 나는 대소 문자를 구별 (또는 민감한 강조)되지 않습니다 MySQL은 기본 문자열 비교 작업으로이 모듈
기본적으로 대소 문자를 구분하지 않습니다. 대/소문자를 구분하려면 이진 비교를 사용하십시오. http://stackoverflow.com/questions/3936967/mysql-case-insensitive-select – alecxe
내 질문에 @alecxe 이미 내 데이터 정렬이 ascii_bin이고 내 선택에서 대/소문자를 구분한다고 언급했습니다. . mysql에서이 작업을 수행하지만, mysqldb를 통해 시도해도 작동하지 않는다. 문제는 순전히 파이썬 – ZJS