看板 Python 關於我們 聯絡資訊
大家好,小弟是 Python 新手,非本科系自學 最近在學習將 Python 的資料匯入 SQLite 我先建一個SQLite的資料表 import sqlite3 conn = sqlite3.connect('sqlite01.db') print("Opened database successfully") c = conn.cursor() c.execute('''CREATE TABLE worknowapp_job (ID INT PRIMARY KEY NOT NULL, JOB_NAME CHAR NOT NULL, JOB_URL CHAR NOT NULL);''') print("Table created successfully") conn.commit() conn.close() 接著我想試將設定好的變數寫入 SQLite,程式碼如下: import sqlite3 name ="測試1" url = "/jobs/10101" conn = sqlite3.connect('sqlite01.db') c = conn.cursor() print ("Opened database successfully") c.execute("INSERT INTO worknowapp_job (ID,JOB_NAME,JOB_URL) \ VALUES (1,name,url )"); conn.commit() print("Records created successfully") conn.close() 但卻出現以下的錯誤訊息: ---> 10 c.execute("INSERT INTO worknowapp_job (ID,JOB_NAME,JOB_URL) VALUES (1,name,url )"); 11 12 conn.commit() OperationalError: no such column: name 我查了網路上教學文章,沒有找到是匯入變數,通常都是直接寫一個數字或字串 因此想請問各位大大這個 error 該怎麼解決,非常感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.105.233.203 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1529735779.A.7A0.html
s8300355: c.execute("INSERT INTO worknowapp_job (ID,JOB_NAME,J 06/23 15:38
s8300355: 執行的地方改成這樣應該可以 06/23 15:39
s8300355: VALUES (%d,'%s','%s')" % (1, name, url) 06/23 15:40
s8300355: 或者這樣 VALUES (?, ?, ?)" , (2, name, url) 06/23 15:42
MAGICXX: 推薦用%s ?很容易爆炸 06/23 16:15
alansyue: 成功了,謝謝樓上兩位大大 06/24 01:20