Операционная ошибка Sqlite3: рядом с синтаксической ошибкой "ССЫЛКИ" - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть следующий код:

with sqlite3.connect('notDataBase1.db') as db:
    cursor = db.cursor()

sql = """CREATE TABLE OrderDetails
                (OrderDetailsID INTEGER,
                 OrderID INTEGER,
                 ProductID INTEGER,
                 PRIMARY KEY(OrderDetailsID),
                 FOREIGN KEY(OrderID REFERENCES
                             Orders(OrderID)),
                 FOREIGN KEY(ProductID REFERENCES
                             Products(ProductID)))"""
cursor.execute(sql)

, который дает мне ошибку:

sqlite3.OperationalError: около "ССЫЛКИ": синтаксическая ошибка

I'mне уверен, что случилось, так как этот код работал для меня вчера, но с тех пор перестал работать.

Есть идеи?

Заранее спасибо.

1 Ответ

0 голосов
/ 20 декабря 2018

Есть ли в вашей БД таблица "Заказы и продукты"?

CREATE TABLE `OrderDetails` (
    `OrderDetailsID `   INTEGER,
    `OrderID `  INTEGER,
    `ProductID `    INTEGER,
    FOREIGN KEY(`ProductID `) REFERENCES `Products`(`ProductsID`),
    FOREIGN KEY(`OrderID `) REFERENCES `Orders`(`OrdersID`),
    PRIMARY KEY(`OrderDetailsID `)
);

Вышеприведенный sql работает, я думаю, что ваша ошибка исходит из части внешнего ключа, плохой английский, извините.Как видите, часть «Ссылки» должна быть вне атрибута «Внешний ключ».Попробуйте и скажите мне.

Хорошего дня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...