sqlite3.OperationalError: около "ССЫЛКИ": синтаксическая ошибка - создание внешнего ключа - PullRequest
0 голосов
/ 30 марта 2011

Я пытаюсь создать ключ поиска. После проверки руководств 1 и 2 я написал следующее:

db.execute("create table if not exists table1 (id integer PRIMARY KEY, somedata integer)")
db.execute("create table if not exists table2 (names text, REFERENCES maintable (id)")

и получил это:

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

Что я пропустил? Как я могу создать ключ поиска? Спасибо.

sqlite_version - 3.7.4

1 Ответ

2 голосов
/ 30 марта 2011

Ваш второй линь неправильный, он должен быть

db.execute("create table if not exists table2 (names text,my_id integer, FOREIGN KEY(my_id) REFERENCES maintable (id))")

как объяснено в http://www.sqlite.org/foreignkeys.html#fk_basics

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