2017-01-30 1 views
0

내가 코드를 제외하고 타격 삽입에 실패 :는 PyMysql 목록 <code>b_result_list</code>에서 각 <code>list-item</code>를 삽입하려고 블록

  db = pymysql.connect(host="localhost",user="root",passwd="password",db="garbagedb") 
      cursor = db.cursor() 
      for brl in b_result_list: 
       try: 
        sql = """INSERT INTO paths(path) VALUES (brl)""" 
        cursor.execute(sql) 
        db.commit() 
        print("inserted: {}".format(brl)) 
       except: 
        print("error inserting") 
        db.rollback() 
       db.close() 

내가 왜 못해 작업을 찾을 수 없습니다.

필자는 query manually을 테스트했으며 정상적으로 작동합니다.

아무도 보이지 않습니까? 감사합니다

답변

1

나는 이것을 알아 내기 위해 약간의 시간을 보냈지만 마침내 알아 냈습니다.

다음은 제 작업 예제입니다. 언젠가 누군가가 도움이되기를 바랍니다.

db = pymysql.connect(host='localhost', user='root',passwd='password',db='yourdb') 
    cursor = db.cursor() 
    for brl in b_result_list: 
     try: 
      with db.cursor() as cursor: 
       sql = "INSERT INTO `paths`(`path`) VALUES (%s)" 
       cursor.execute(sql, (brl)) 
       db.commit() 
       print("inserted: {}".format(brl)) 
     except: 
      print("error inserting") 
      db.rollback() 
    db.close() 

추가 정보는 여기에 있습니다 : https://github.com/PyMySQL/PyMySQL/blob/master/docs/source/user/examples.rst