无法替换sqlite中的行,但我可以插入

时间:2019-06-05 16:56:18

标签: python sqlite

我正在尝试将当前日期替换为sqlite3中的表。我可以插入它,但是如果尝试替换它,则会出现此错误:TypeError:函数正好接受2个参数(给定3个)。

maclist = get_dict.get('maclist')
signallist = get_dict.get('signallist')
data_list = list(zip(maclist, signallist))

conn = sqlite3.connect('db/users.db')
c = conn.cursor()
if (id == 1):
    try:
        c.executemany("INSERT INTO node2 (MAC,SIGNAL,FECHA) VALUES(?,?,?)", data_list, datetime.now())
    except Exception as exc:
        c.executemany("REPLACE INTO node2 (MAC,SIGNAL,FECHA) VALUES(?,?,?)", data_list, datetime.now())

1 个答案:

答案 0 :(得分:1)

正确的用法是

INSERT OR REPLACE INTO table(column_list)
VALUES(value_list)

如果该行不存在,则将插入INSERT OR REPLACE;如果不存在,则将替换值。