이 글은 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!