Синтаксическая ошибка при попытке вставить данные в мою базу данных через sqlalchemy - PullRequest
0 голосов
/ 09 июля 2019

Я новичок в Python и веб-разработке. Я пытаюсь выполнить эту команду вставки алхимии SQL (я смотрел ее из видео), но она дает мне синтаксическую ошибку. Я не могу понять документацию по алхимии.

@app.route("/")
def index():
    id = "Vishal"
    p = "vishal94"
    connection.execute("INSERT INTO books (username , password) VALUES(:username , :password)",{"username":id, "password":p})
    dat = connection.execute("select * from books")
    return render_template("data.html",dat = dat)


sqlalchemy.exc.ProgrammingError: (psycopg2.errors.SyntaxError) syntax error at or near ":"
LINE 1: INSERT INTO books (username , password) VALUES(:username , :...
                                                       ^

[SQL: INSERT INTO books (username , password) VALUES(:username , :password)]
[parameters: {'username': 'Vishal', 'password': 'vishal94'}]
(Background on this error at: http://sqlalche.me/e/f405)

Я фактически скопировал эту команду из видео курса cs50, все еще не работающего.

1 Ответ

0 голосов
/ 10 июля 2019

Вы можете указать %(key)s, чтобы определить ключевые слова для вашего запроса.

@app.route("/")
def index():
    id = "Vishal"
    p = "vishal94"
    connection.execute("INSERT INTO books (username , password) VALUES (%(username)s, %(password)s)", {"username":id, "password":p})
    dat = connection.execute("select * from books")
    return render_template("data.html",dat = dat)
...