Похоже, у вас есть две проблемы / недоразумения.
Во-первых, указание внешнего ключа не приводит к автоматическому выбору подходящего значения и обновлению столбца таким значением.Скорее определение внешнего добавляет ограничение, которое говорит, что значение должно быть значением, которое существует в соответствующем столбце родительской таблицы.Если этого не произойдет, возникнет конфликт.
Таким образом, вы должны определить подходящее значение (в вашем случае существующее значение ИДЕНТИФИКАЦИЯ ).
Второе значениечто SQLite, поставляемый с Android, по умолчанию не имеет поддержки внешнего ключа.Поддержка внешнего ключа может быть включена с помощью
, отметив, что поддержка внешнего ключа не может быть включена в транзакции.Поэтому желательно включить поддержку внешних ключей как можно скорее.
- При использовании в качестве подкласса SQLiteOpenHelper рекомендуется переопределить метод onConfigure и использовать метод setForeignKeyConstraintsEnabled .