필자의 요구 사항은 테이블에 열 값 목록과 일치하는 항목이 있는지 확인하는 것입니다. 다음 쿼리를 사용하고 있습니다 :여러 값이 MySQLdb python의 데이터베이스에 있는지 확인하십시오.
insert_enquiry = """SELECT P_ID,Jobname FROM build_table WHERE Build_number IN %s;""" % insert_constraint
여기 insert_constraint는 숫자 목록입니다. Build_number는 정수가있는 열입니다.
cursor.execute(insert_enquiry)
나는 다음과 같은 오류를 얻을 : 내가 사용하여이 쿼리를 실행하려고하면
MySQL Error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[184, 931, 1005, 1070, 165, 99, 365, 930, 164, 98' at line 1
을 나는이 때문에 목록에 표시 대괄호로 믿습니다. 목록을 문자열로 변환하여 제거하려고했지만 정수 목록이 문자열로 변환 된 것과 같은 오류가 발생합니다.
insert_enquiry = """SELECT P_ID,Jobname FROM product_build WHERE Build_number IN %s;"""
cursor.executemany(insert_enquiry, insert_constraint)
이 다음과 같은 오류를 제공합니다 :
은 또한 다음과 같은 구문을 시도MySQL Error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '184' at line 1
편집 :이 목록에서 마지막 요소를 필요
insert_enquiry = """SELECT P_ID,Jobname FROM product_build WHERE Build_number IN (%s);"""
cursor.executemany(insert_enquiry, insert_constraint)
insert_constraint 어떤 이유로.
** IN [...] ** 대신 IN (...) **이 아닌가요? –
예, 질문을 수정했습니다. 어떻게 든 insert_constraint리스트의 마지막 요소를 가져와리스트의 모든 요소를 건너 뜁니다. –