[在表中插入数据时,Sqlite3代码中的语法错误-

问题描述 投票:0回答:1

我正在编写代码以创建基本表,并使用Python 3中的Sqlite3将数据插入其中。CMD通过将指针置于数据集来显示语法错误。

import sqlite3
conn=squlite3.connect('name.sqlite')
cur=conn.cursor()
cur.execute('CREATE TABLE Ages (name TEXT, age INTEGER)')
cur.execute('INSERT INTO Ages (name, age) VALUES ('Cael', 16)')
cur.execute('INSERT INTO Ages (name, age) VALUES ('Abiha', 33)')
cur.execute('INSERT INTO Ages (name, age) VALUES ('Catrin', 29)')
conn.commit()
cur.execute('SELECT name,age FROM Ages')
for row in cur:
    print(row)
conn.close()

这是CMD显示的内容:

cur.execute('INSERT INTO Ages (name, age) VALUES ('Cael', 16)')
                                                   ^
SyntaxError: invalid syntax

如果您知道它有什么问题,请告诉我!

python-3.x database sqlite syntax-error sql-insert
1个回答
0
投票

[您在execute语句中使用单引号,这导致Python将CaelAbihaCatrin视为预期的变量或关键字。

将您的execute语句更改为使用双引号,如下所示:

cur.execute("CREATE TABLE Ages (name TEXT, age INTEGER)")
cur.execute("INSERT INTO Ages (name, age) VALUES ('Cael', 16)")
cur.execute("INSERT INTO Ages (name, age) VALUES ('Abiha', 33)")
cur.execute("INSERT INTO Ages (name, age) VALUES ('Catrin', 29)")

您也可以像\'那样使它们逃脱,但上面的方法更好。

© www.soinside.com 2019 - 2024. All rights reserved.