将列表列表中的列的1个值插入到选项卡中

2024-04-24 12:21:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张单子 log = [["MD103", None, None, None, None, None], ["MD102", None, None, None, None, None]]

我想在

cur.executemany("INSERT INTO devices VALUES(?)", logValues[1],)

我知道这是错的,但我不知道怎么做。有时,当它工作时,它会将每个单独的字符插入到表中。你知道吗

整个代码如下:

import sqlite3 as lite
import sys


con = None
log = [["MD103", None, None, None, None, None], ["MD102", None, None, None, None, None]]

def logMovements(logValues):
try:
    con = lite.connect('netgate.db')    
    cur = con.cursor()
    try:
        cur.executemany("INSERT INTO devices VALUES(?)", logValues[1],)
    except lite.IntegrityError:
        print "Device already on database"
    cur.commit()
    con.executemany("INSERT INTO firmwares VALUES(?,?,?,?,?,?,'False','None')", (logValues))
    con.commit()                   
    cur.execute("SELECT * FROM devices")
    print cur.fetchall()
    cur.execute("SELECT * FROM firmwares")
    print cur.fetchall()

finally:
    if con:
        con.close()

logMovements(log)

编辑:此代码引发此错误。 提供的绑定数不正确。当前语句使用1,提供了5个

编辑2:问题出在第一次插入中,因为第二次插入效果很好:p


Tags: 代码nonelogliteconinsertvaluesdevices