Python에서 ExecuteMany 사용 시 주의사항에 대한 자세한 설명

高洛峰
풀어 주다: 2017-03-14 13:11:44
원래의
3524명이 탐색했습니다.

이 글은 주로 pythonexecutemany 사용에 대한 주의사항을 설명하고 있어 매우 좋고 참고할만한 가치가 있습니다.

사용합니다. Executemany 데이터가 일괄적으로 삽입되는 경우 다음 사항에 주의하세요.


#coding:utf8
conn = MySQLdb.connect(host = “localhost”, user = “root”, passwd = “123456”, db = “myDB”)
cursor = conn.cursor()
sql = “insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+values(count)”
args=[("2012-08-27","name1",100),("2012-08-27","name1",200),("2012-08-27","name2",300)]
try:
  cursor.executemany(sql, args)
except Exception as e:
  print0(“执行MySQL: %s 时出错:%s” % (sql, e))
finally:
  cursor.close()
  conn.commit()
  conn.close()
로그인 후 복사

여기서 args는 여러 튜플을 포함하는 배열이며, 각 튜플은 다음에 해당합니다. mysql의 데이터 조각입니다. 여기서 Created_day에 해당하는 %s에는 따옴표가 없습니다. Executemany는 먼저 SQL 문 %s에 대해 정규 일치를 수행한 다음 이를 기반으로 문자열 을 포함하는 것으로 추측됩니다. 여기에 %s가 인용되면 mysql에 삽입될 때 "0000-00"이 나타납니다. 00″ 날짜가 잘못 입력되었습니다.

한 번에 많은 데이터를 삽입하려면 Executemany를 사용하는 것이 좋습니다. 제 경험으로는 하나씩 데이터를 삽입하는 데 2~3시간이 걸립니다. - 3초! ! !

executemany와 ON DUPLICATE KEY UPDATE를 함께 사용하는 경우 sql 일반 모드를 따르면 다음과 같습니다. 즉, sql="insert into myTable (created_day,name,count) value(%s,%s,%) s) ON DUPLICATE KEY UPDATE count=count+%s"는 버그를 보고합니다. 문자열 매팅동안 모든

인수가 변환되지 않았습니다. 위 내용은 편집자님이 Python Executemany의 사용법과 주의사항을 소개해 드린 내용입니다. 궁금한 사항이 있으시면 메시지를 남겨주시면 시간내서 답변해드리겠습니다. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

위 내용은 Python에서 ExecuteMany 사용 시 주의사항에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿