Создать базу данных SQLite в Android с помощью внешних ключей? - PullRequest
1 голос
/ 12 января 2012

Это поддерживается?Я пытаюсь создать таблицу, но получаю синтаксическую ошибку при компиляции.

private static final String ROOM_CREATE =
        "create table room (_id integer primary key autoincrement, " +
        "facility integer not null, FORIEGN KEY (facility) REFERENCES facility(_id));";

Ответы [ 4 ]

0 голосов
/ 16 апреля 2014

facility в facility(_id) должно относиться к имени таблицы.Вы также определяете то же имя для столбца.Пожалуйста, измените имя таблицы и попробуйте снова.

0 голосов
/ 12 января 2012

Опечатка в SQL:

Иностранец -> Иностранец

0 голосов
/ 13 января 2012

Несколько замечательных ответов, в частности, @sfratini для определения опечатки в ключевом слове FOREIGN. Могу ли я также порекомендовать вам устранить неполадки операторов SQL с помощью клиента командной строки, такого как «Предварительно скомпилированные двоичные файлы для Windows» (см. http://sqlite.org/download.html).. Таким образом, вы можете проверить операторы CREATE TABLE и INSERT перед тем, как поставить их в ваше приложение.

0 голосов
/ 12 января 2012

Вы можете создавать внешние ключи, но вы должны включить принудительное применение в SQLite с помощью

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