2014-07-09 2 views
0

그래서 파이썬에서 ;으로 구분 된 500 개의 SQL INSERT 쿼리를 포함하는 문자열이 있습니다. 이것은 순전히 성능상의 이유로, 그렇지 않으면 개별 쿼리를 실행할 것이고이 문제는 발생하지 않을 것입니다. 내 SQL 쿼리를 실행할 때Python 기본 키가 중복 된 항목을 추가 할 때 MySQL IntegrityError 무시

는, 파이썬 예외 : IntegrityError: (1062, "Duplicate entry 'http://domain.com' for key 'PRIMARY'")

500의 첫 번째 쿼리에 말할 수 있습니다, 오류가 발생합니다. 데이터베이스에서 다른 499 개의 쿼리가 실행되도록하려면 어떻게해야합니까?

try와 except를 사용하면 예외가 발생하지 않지만 내 진술의 나머지 부분은 실행되지 않습니다. 아니면 파이썬이 1 개의 큰 결합 문자열을 모두 MySQL에 보냈기 때문에 그렇습니까?

아이디어가 있으십니까?

+0

시도해 보셨습니까? 그 문제에 대해 하나의 문자열에서 500 개의 쿼리를 보내면 실제로 성능이 향상됩니까? 왜 그냥 하나의 쿼리 500 행을 삽입하지? 'INSERT IGNORE'는 당신이 원하는대로 할 수 있습니까? – Eevee

답변

0

걱정하는 사람은 ON DUPLICATE KEY UPDATE SQL 명령을 사용했습니다.

관련 문제