[問題] SQLite insert 問題

看板Python作者 (alansyue)時間7年前 (2018/06/23 14:36), 編輯推噓2(204)
留言6則, 3人參與, 7年前最新討論串1/1
大家好,小弟是 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

06/23 15:38, 7年前 , 1F
c.execute("INSERT INTO worknowapp_job (ID,JOB_NAME,J
06/23 15:38, 1F

06/23 15:39, 7年前 , 2F
執行的地方改成這樣應該可以
06/23 15:39, 2F

06/23 15:40, 7年前 , 3F
VALUES (%d,'%s','%s')" % (1, name, url)
06/23 15:40, 3F

06/23 15:42, 7年前 , 4F
或者這樣 VALUES (?, ?, ?)" , (2, name, url)
06/23 15:42, 4F

06/23 16:15, 7年前 , 5F
推薦用%s ?很容易爆炸
06/23 16:15, 5F

06/24 01:20, 7年前 , 6F
成功了,謝謝樓上兩位大大
06/24 01:20, 6F
文章代碼(AID): #1RBUfZUW (Python)
文章代碼(AID): #1RBUfZUW (Python)