SynaxError в команде SQL - PullRequest
0 голосов
/ 09 июля 2020

РЕДАКТИРОВАТЬ: Ага, я тупой. Пропустил опечатку.

Я слежу за видео в курсе Udacity и получаю сообщение об ошибке при попытке запустить команду SQL через psycopg2. Код такой же, как у инструктора, но мой возвращает ошибку, а ее - нет.

import psycopg2

# establish connection to db
connection = psycopg2.connect('dbname=example')

# cursor is essentially an interface that allows you to start
# cuing up work and transactions
cursor = connection.cursor()

# defines SQL transaction
cursor.execute('''
    CREATE TABLE table2 (
        id INTEGER PRIMARY KEY,
        completed BOOLEAN NOT NULL DEFUALT False
    );
''')

cursor.execute('INSERT INTO table2 (id, completed) VALUES (1, true);')

# commits the transaction
connection.commit()

# must manually close your session each time one is opened
connection.close()
cursor.close()

Ошибка:

$ python3 demo.py
Traceback (most recent call last):
  File "demo.py", line 11, in <module>
    cursor.execute("""
psycopg2.errors.SyntaxError: syntax error at or near "DEFUALT"
LINE 4:         completed BOOLEAN NOT NULL DEFUALT False

1 Ответ

1 голос
/ 09 июля 2020

Похоже, вы допустили опечатку вместо DEFAULT, написанного вами DEFUALT

cursor.execute('''
    CREATE TABLE table2 (
        id INTEGER PRIMARY KEY,
        completed BOOLEAN NOT NULL DEFAULT False
    );
''')
...