我使用MySQLdb和Python将数据插入本地数据库。
插入查询是
for row in v1:
cur2.execute("""""INSERT INTO s_test (CO1,CO2, CO3, CO4, CO5) VALUES (%s, %s, %s, %s, %s);""""",(row[0],row[1], row[2],row[3], row[4]));
我收到错误
IndexError: tuple index out of range
如果我使用下面的查询,我没有错误
for row in v1:
cur2.execute("INSERT INTO s_test (CO1) VALUES (%s);",(row[0]));
如果我增加插入的列数,我会得到上面提到的相同错误。
正确的语法是什么?
答案 0 :(得分:0)
我不太记得Python,但这听起来好像你在行数组中没有5个元素,而不是SQL错误。你能检查一下吗?
答案 1 :(得分:0)
假设数据完全是数字,你可以试试这个:
cur2.execute("""INSERT INTO s_test (CO1, CO2, CO3, CO4, CO5) VALUES ({0}, {1}, {2}, {3}, {4});""".format(row[0], row[1], row[2], row[3], row[4]);
使用3个引号代替5;用句点替换逗号;使用更现代的.format
字符串替换。