Python sqlite3 和字符串格式 - 错误

Python sqlite3 and string formatting - Error

这是我的代码:

title = "Importunate Widow"
conn = sqlite3.connect('parable.sqlite')
c = conn.cursor()
sqlite3.enable_callback_tracebacks(True)

c.executescript("""
            CREATE TABLE IF NOT EXISTS _index(
                title text NOT NULL,
                context text NOT NULL
                );

            CREATE TABLE IF NOT EXISTS {}(
                value int NOT NULL,
                number int NOT NULL,
                question text NOT NULL,
                choice1 text,
                choice2 text,
                choice3 text,
                choice4 text,
                answer text NOT NULL,
                explanation text,
                see text
                )""".format(title))

    c.executemany('INSERT INTO _index(title,context) VALUES(?,?)', index)

    c.executemany('INSERT INTO {}(value,number,question,choice1,choice2,choice3,choice4,answer,explanation,see) VALUES(?,?,?,?,?,?,?,?,?,?)'.format(title), quiz)
    conn.commit()
    conn.close()

这给了我:

 OperationalError    Traceback (most recent call last)
 /home/user/Hobby/Quiz/quiz_sqlite.py in <module>()
sqlite3.enable_callback_tracebacks(True)
     87 
---> 88         c.executescript("""CREATE TABLE IF NOT EXISTS _index(title text NOT NULL,context text NOT NULL);CREATE TABLE IF NOT EXISTS {}(value int NOT NULL,number int NOT NULL,question text NOT NULL,choice1 text,choice2 text,choice3 text,choice4 text,answer text NOT NULL,explanation text,check text )""".format(title))
     89 
     90         c.executemany('INSERT INTO _index(title,context) VALUES(?,?)', index)

OperationalError: near "Widow": syntax error

我基本上是遍历多个文件并将数据插入到以文件命名的表中。我已经在互联网上搜索过了,但一无所获。

我尝试了什么:

  1. 尝试在 """
  2. 之前的 ) 之后添加 ;
  3. 尝试在 see text
  4. 之后添加 ,
  5. 尝试将列名称 see 更改为 refer

None 有帮助!

代码中的语法错误是什么?

您正在尝试使用 Importunate Widow 作为 table 名称。不允许在 table 或字段名称中使用空格。