Python Selenium MySQL-如果ID不存在,则插入

Python Selenium MySQL-如果ID不存在,则插入,python,mysql,selenium,sql-update,Python,Mysql,Selenium,Sql Update,我有以下代码: def read_excel_all_members(mycursor, mydb): with open('.\\docs\\allMembers.csv') as allMembersCSV: csv_reader_object = csv.reader(allMembersCSV, delimiter=';') next(csv_reader_object) sql = "INSERT INTO allMembers (idnr, lastname,

我有以下代码:

def read_excel_all_members(mycursor, mydb):
with open('.\\docs\\allMembers.csv') as allMembersCSV:
    csv_reader_object = csv.reader(allMembersCSV, delimiter=';')
    next(csv_reader_object)
    sql = "INSERT INTO allMembers (idnr, lastname, firstname) VALUES (%s, %s, %s)"
    for row in csv_reader_object:
        sql2 = 'SELECT count(*) FROM allMembers WHERE idnr =' + row[0]
        exists = mycursor.execute(sql2)
        if not exists != 0:
            val = [
                (row[0], row[1], row[2])
            ]
            mycursor.executemany(sql, val)
mydb.commit()
但是我总是会遇到一个错误-如果行[0]此时不存在,我只想插入该行

我的代码有什么问题

错误:

  File "C:/Users/usera/PycharmProjects/untitled1/console.py", line 38, in <module>
    functions.read_excel_all_members(mycursor, mydb)
  File "C:\Users\usera\PycharmProjects\untitled1\functions.py", line 128, in read_excel_all_members
    exists = mycursor.execute(sql2)
  File "C:\Users\usera\PycharmProjects\untitled1\venv\lib\site-packages\mysql\connector\cursor.py", line 521, in execute
    self._connection.handle_unread_result()
  File "C:\Users\usera\PycharmProjects\untitled1\venv\lib\site-packages\mysql\connector\connection.py", line 1059, in handle_unread_result
    raise errors.InternalError("Unread result found")
mysql.connector.errors.InternalError: Unread result found``` 


Pls help me.

The CSV is like:

> ID;Familienname;Vorname
1538;Jakob;Schwarz
文件“C:/Users/usera/PycharmProjects/untitled1/console.py”,第38行,在
函数。读取所有成员(mycursor、mydb)
文件“C:\Users\usera\PycharmProjects\untitled1\functions.py”,第128行,在read\u excel\u all\u成员中
exists=mycursor.execute(sql2)
文件“C:\Users\usera\PycharmProjects\untitled1\venv\lib\site packages\mysql\connector\cursor.py”,第521行,在execute中
self.\u connection.handle\u unread\u result()
文件“C:\Users\usera\PycharmProjects\untitled1\venv\lib\site packages\mysql\connector\connection.py”,第1059行,在handle\u unread\u result中
引发错误。内部错误(“找到未读结果”)
mysql.connector.errors.InternalError:找到未读结果`
请帮帮我。
CSV类似于:
>身份证;家名;沃名称
1538;雅各布;施瓦兹

现在我有了解决方案:

def read_excel_all_members(mycursor, mydb):
with open('.\\docs\\allMembers.csv') as allMembersCSV:
    csv_reader_object = csv.reader(allMembersCSV, delimiter=';')
    next(csv_reader_object)
    sql = 'INSERT INTO allMembers (idnr, lastname, firstname) VALUES (%s, %s, %s)'
    for row in csv_reader_object:
        sql2 = 'SELECT count(*) FROM allMembers WHERE idnr =' + row[0]
        mycursor.execute(sql2)
        result = mycursor.fetchone()
        if result == (0,):
            val = [
                (row[0], row[1], row[2])
            ]
            mycursor.execute(sql, val[0])
mydb.commit()

现在我有了解决方案:

def read_excel_all_members(mycursor, mydb):
with open('.\\docs\\allMembers.csv') as allMembersCSV:
    csv_reader_object = csv.reader(allMembersCSV, delimiter=';')
    next(csv_reader_object)
    sql = 'INSERT INTO allMembers (idnr, lastname, firstname) VALUES (%s, %s, %s)'
    for row in csv_reader_object:
        sql2 = 'SELECT count(*) FROM allMembers WHERE idnr =' + row[0]
        mycursor.execute(sql2)
        result = mycursor.fetchone()
        if result == (0,):
            val = [
                (row[0], row[1], row[2])
            ]
            mycursor.execute(sql, val[0])
mydb.commit()