Ошибка синтаксиса - в коде Sqlite3 при вставке данных в таблицу - PullRequest
0 голосов
/ 29 мая 2020

Я пишу код, чтобы создать базовую c таблицу и вставить в нее данные с помощью Sqlite3 в Python 3. 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

Если вы знаете, что с этим не так, дайте мне знать!

1 Ответ

0 голосов
/ 29 мая 2020

Вы используете одинарные кавычки для своих операторов выполнения, это приводит к тому, что Python видит Cael, Abiha и Catrin как ожидаемую переменную или ключевое слово.

Измените операторы выполнения на используйте двойные кавычки, например:

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)")

Вы также можете избежать их, например, \', но приведенное выше лучше.

...