开发者

Problem Using Variable in Sqlite3 Statement

I have a problem with a Python 2.7 project.

I'm trying to set a variable to a value retrieved from an sqlite3 database, but I'm having trouble. Here is my code thus far, and the error I'm receiving. Yes, the connection opens just fine, and the table, columns, and indicated row are there as they should be.

import sqlite3 import Trailcrest

conn = sqlite3.connect('roster.paw')
c = conn.cursor()

def Lantern(AI):
    """Pulls all of the data for the selected user."""
    Trailcrest.FireAutoHelp = c.execute("""select fireautohelp 
                                             from roster 
                                            where index = ?;""", (AI,) ).fetchall()

The error is:

> Traceback (most recent call last):   
> File "<pyshell#4>", line 1, in <module> Lantern(1)
> File "C:\Users\user\MousePaw Games\Word4Word\PYM\Glyph.py", line 20, 
> in Lantern
>     Trailcrest.FireAutoHelp = c.execute("""s开发者_如何学编程elect fireautohelp from roster where index = ?;""", (AI,)).fetchall()
> OperationalError: near "index": syntax error


As Thomas K mentions in a comment, index is a SQL keyword.
You can either rename that column, or enclose in backticks:

Trailcrest.FireAutoHelp = c.execute("""select fireautohelp 
                                         from roster 
                                        where `index` = ?;""", (AI,) ).fetchall()
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜