2013-12-12 391 views
1

我試圖用Python來做SQLite查詢。我可以在SQLite中使用用Python進行SQLite查詢

SELECT Four FROM keys2 WHERE One = B 

如何在Python中執行此操作?

我想

c = conn.cursor() 

print "Opened database successfully"; 
x = c.execute("SELECT Four FROM keys2 WHERE One = B") 
print x 

conn.close() 

但我得到的消息 「sqlite3.OperationalError:沒有這樣的列:B」。我試圖選擇列4下的一欄是哪一欄是我嘗試過的幾種方法無濟於事。

回答

2

供應使用參數化SQL值:

x = c.execute("SELECT Four FROM keys2 WHERE One = ?", "B") 

與SQL您發佈的問題是價值B必須加引號。所以

x = c.execute("SELECT Four FROM keys2 WHERE One = 'B'") 

也是會工作,但最好是始終使用參數化的SQL(防範SQL注入),並讓sqlite3的爲你做的報價。

+0

當我運行,我得到以下。我是否需要轉換此類型?這是一個在sqlite中的文本類型。 – user808996

+0

添加了print x.fetchall(),看起來像是在工作。謝謝 – user808996