我試圖從資料庫中獲取電影的 ID,其中類別等于用戶輸入類別,但由于某種原因我無法做到。我的代碼:
import sqlite3
#Connectin to DB
conn = sqlite3.connect('sakila.db')
c = conn.cursor()
#Checking if the connection to the DB is successful
if (conn):
print("Connection successful")
else:
print ("Connection unsuccessful")
kategorija=input("Enter the category: ")
c.execute("SELECT FID FROM film_list WHERE category=%s", (kategorija,))
film = c.fetchall()
#Removing duplicates
final_film = list(dict.fromkeys(film))
print(final_film)
我得到的錯誤:第 14 行,在 c.execute("SELECT FID FROM film_list WHERE category=%s", (kategorija,)) sqlite3.OperationalError: near "%": 語法錯誤
uj5u.com熱心網友回復:
正如你可以在這里將python變數系結到sqlite查詢的方法是?
priority = input("Enter priority : ")
cur = conn.cursor()
cur.execute("SELECT * FROM tasks WHERE priority=?", (priority,))
rows = cur.fetchall()
如果要洗掉重復項,可以考慮將查詢更改為
SELECT DISTINCT ...
這將改變 sql 的行為以只選擇不同的值(我認為這很明顯)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/368721.html
下一篇:SQLite-沒有這樣的列:X
