2017-02-16 109 views
0

所以我創建了一個簡單的表:無法插入值到SQLITE

c.execute('''CREATE TABLE IF NOT EXISTS friendList (name)''') 

然後我有一個變量「農佈雷」,這包含字符串「加布裏埃爾」。

然後我嘗試以下方法:

c.execute("INSERT INTO friendList VALUES (nombre);") 

而得到這樣的:

sqlite3.OperationalError: no such column: nombre 

我在做什麼錯?

回答

3

嘗試:

c = conn.cursor() 
c.execute("INSERT INTO friendList VALUES (?)", (nombre,)) 
conn.commit() <-- important, needed to save transaction 

由於​​是一個變量,可以綁定這種方式。你可以可以直接通過連接插入它,但是這會打開你到SQL注入。

+0

Python在沒有錯誤消息的情況下接受此操作。當我提交它並在我的SQL瀏覽器中查看數據庫時,數據庫沒有條目。 –

+1

您可能需要提交您的交易,請參閱https://docs.python.org/3/library/sqlite3.html。 – Scovetta

+0

我正在提交。我嘗試了更新的代碼行,現在可以工作。 –