sqlite INSERT或IGNORE不起作用

时间:2018-07-20 21:02:43

标签: python sql sqlite

我已经尝试了一段时间,但是找不到错误

这是我的桌子:

CREATE TABLE IF NOT EXISTS participants(
   FirstName TEXT, 
   LastName TEXT, 
   ChatID INTEGER, UNIQUE(ChatID) )"

这是我尝试插入数据的方法:

INSERT OR IGNORE INTO participants (
FirstName, LastName, ChatID) 
VALUES (?, ?, ?)", 
(FirstName ,LastName , ChatID))

我尝试使用PRIMARY KEY而不是UNIQUE进行创建,但是那也不起作用。 如果这很重要,我将SQLite与Python结合使用。

def create_first_table():
    cursor = connection.cursor()
    cursor.execute("CREATE TABLE IF NOT EXISTS participants(FirstName TEXT, LastName TEXT, ChatID INTEGER, UNIQUE(ChatID) )")
    cursor.close()

def dynamic_data_entry(fname, lname, chatid):
    cursor = connection.cursor()
    FirstName = fname
    LastName = lname
    ChatID = chatid
    cursor.execute("INSERT OR IGNORE INTO participants (FirstName , LastName , ChatID ) VALUES (?, ?, ?)", (FirstName ,LastName , ChatID ))
    connection.commit()
    cursor.close()

1 个答案:

答案 0 :(得分:0)

您是否尝试将AUTOINCREMENT与PRIMARY KEY结合使用。另外,请勿在您的SQL查询中发送ID值。

INSERT OR IGNORE INTO participants ( FirstName, LastName) VALUES (?, ?)", (FirstName ,LastName))