for _item in file_list: for col in cursor.execute("select column1,column2 from tbl"): if _item[0]==col.column1: #I also tried using a different cursor, still doesn't work var1 = cursor.execute("select column2 from tbl where column1=?", _item[0]) for i in var1: var2 = i[0] try: cursor3.execute("insert into tbl(column2,column1,column3,column4) values (?,?,?,?)", (var1, _item[0],_item[1],_item[2])) cursor3.commit() except IOError as error: print error
我想做的是比较列表中的值和column1中的值,如果它们匹配,则从同一行的column2中获取值,然后用column2中的值添加新行,但其余值不同。
但是不幸的是,当我在python上面运行代码时抛出错误:
Error: ('HY010', '[HY010] [Microsoft][ODBC Driver Manager] Function sequence error (0) (SQLFetch)')
排队:
for columnrow in cursor.execute("select column1,column2 from tbl")
您正在做什么,应该按照@ScottMorken对这个答案的评论进行操作。
旧答案: 您需要使用以下方法检索查询结果:.fetchall() 因此,您可以执行以下操作来代替该行:
.fetchall()
for columnrow in cursor.execute("select column1,column2 from tbl").fetchall(): ...