0
AndroidのSQLiteデータベースの「外部キー」の正しい使い方と実装については混乱しています。外部キーAndroid DATABASE
私は次のように、いくつかの関係でDBを作成しました:あなたが見ることができるように、そこに3つのテーブルがあり、「食」の_idは、テーブル「カテゴリ」を接続する外部キーである
CREATE TABLE "food" (
`_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`name` TEXT NOT NULL,
`description` TEXT,
`category_id` INTEGER,
FOREIGN KEY(`category_id`) REFERENCES food(_id))
CREATE TABLE `category` (
`_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`cagory_name` TEXT NOT NULL)
CREATE TABLE "favourites" (
`_id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`id_favourite` INTEGER NOT NULL,
FOREIGN KEY(`id_favourite`) REFERENCES food (_id))
と "お気に入り "です。
今、Androidでは、テーブル間にこのような関係があることを証明する何も起こりません。それを有効にするためにいくつかの宣言が欠けていますか? Androidでどのように動作しますか?
はい、間違いありません。しかし、離れて、私はまだAndroidの外的なキーの明確な使用を参照してくださいしていない – Alex
ああ私は、あなたが制約をテストしていると、それらのテストに失敗している参照してください?それとも、必要性が見えませんか? – mattdeak
私はそれをテストしています。私はFOREIGN KEY属性を追加しても何の違いも見られません。したがって、私はAndroid Studioで実装するコードをいくつか見逃していると思います... 例:存在しておらず、アプリは問題なく動作しています... – Alex