info = "'INSERT INTO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) VALUES(?,?,?,?)',('2017-05-28','12:23:32', 123, 0)"
cur.execute(info)
这样会报错:sqlite3.OperationalError
cur.execute('INSERT INTO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) VALUES(?,?,?,?)',('2017-05-28','12:23:32', 123, 0))
这样就可以运行。
cur.execute有两个参数,一个是SQL,一个是给SQL的参数传值,你第一句用双引号括起来相当一个字符串,也就是一个参数,没有传入第二个参数
info =“插入brush_card_record(brush_card_date,brush_card_time,card_num_6061,card_num_6654)值(%s,%s,%s,%s)”%('2017-05-28','12:23:32',123 , 0)
或者str.format
雷雷
问题已找到,谢谢回答的朋友!
数据库表插入新数据为动态时,更好的处理方式是先生成str,然后作为参数传进cur.execute()中。
代码示例: