Python sqlite3.0错误:接近“0”&引用;:语法错误

Python sqlite3.0错误:接近“0”&引用;:语法错误,python,sql,sqlite,Python,Sql,Sqlite,更新1: 另一条线可以工作(谢谢你的帮助!)。现在,我尝试运行以下程序,但这也不起作用,我在第13行得到一个错误:sqlite3.OperationalError:near“,”:syntax error con = lite.connect('Records.db') with con: cur = con.cursor() cur.execute("CREATE TABLE Questions(Id INTEGER PRIMARY KEY, Question STRING,

更新1: 另一条线可以工作(谢谢你的帮助!)。现在,我尝试运行以下程序,但这也不起作用,我在第13行得到一个错误:sqlite3.OperationalError:near“,”:syntax error

con = lite.connect('Records.db')
with con:
    cur = con.cursor()
    cur.execute("CREATE TABLE Questions(Id INTEGER PRIMARY KEY, Question STRING, Answer STRING, Mark INTEGER, Topic STRING, Incorrect STRING, QType STRING)")
    cur.execute("INSERT INTO Questions(1, 'What is 2/3 of 6?', '4', '1', 'Fractions', 'None', 'Numerical')")
代码如下:

cur.execute("CREATE TABLE Progress(Id INTEGER PRIMARY, Username STRING, Topic1 STRING, Topic2 STRING, Topic3 STRING, Topic4 STRING, 1Result STRING, 2Result STRING, 3Result STRING, 4Result STRING, TResut STRING, TCorrect INTEGER, TWrong INTEGER, TAttempted INTEGER)")
cur.exectue("INSERT INTO Progress VALUES(1, 'Admin', 'Algebra', 'Number', 'Shape, Space and Measures', 'Handling Data', '100%', '100%', '100%', '100%', '100%', '10', '0', '10')")
我创建了一个如下所示的SQL表,并试图将一些数据输入到该表中,但我一直遇到以下错误:sqlite3.OperationalError:near“1”:语法错误

con = lite.connect('Records.db')
with con:
    cur = con.cursor()
    cur.execute("CREATE TABLE Questions(Id INTEGER PRIMARY KEY, Question STRING, Answer STRING, Mark INTEGER, Topic STRING, Incorrect STRING, QType STRING)")
    cur.execute("INSERT INTO Questions(1, 'What is 2/3 of 6?', '4', '1', 'Fractions', 'None', 'Numerical')")
这是错误的;这里需要
关键字。应该是:

cur.execute("INSERT INTO Questions VALUES (1, 'What is 2/3 of 6?', '4', '1', 'Fractions', 'None', 'Numerical')")
#                          --------^^^^^^

您正在将列值放置在SQL需要(可选)列名列表的位置。

可以在

在您的示例中,您可以输入

cur = con.cursor()
cur.execute("CREATE TABLE Questions(Id INTEGER, Question STRING, Answer STRING)")
cur.execute("INSERT INTO Questions VALUES(1, 'What is 2/3 of 6?', '4')")

我发现在提交Python代码之前,有一个方便的sqlite环境进行测试是很有帮助的。

下面有几个正确的答案。但还要注意,建议使用此命令的“完整”版本
插入问题(ID、问题、答案、标记、主题、不正确、QType)值(1、“6的2/3是什么?”、“4”、“1”、“分数”、“无”、“数字”)
,因为它更安全,不会在以后更改数据库结构。Ohhhh。。。。我忘记了价值观