SQLiteで外部キー制約を使用する方法は何ですか?

SQLiteで外部キー制約を使用するには、テーブルを作成する際に外部キー関係を定義する必要があります。以下は一つの例です:

最初に、2つのテーブルを作成し、1つのテーブルの列を別のテーブルの外部キーとして定義する外部キー制約を設定します。

CREATE TABLE table1 (
    id INTEGER PRIMARY KEY,
    name TEXT
);

CREATE TABLE table2 (
    id INTEGER PRIMARY KEY,
    table1_id INTEGER,
    FOREIGN KEY (table1_id) REFERENCES table1(id)
);

上記の例では、table2テーブルのtable1_id列はtable1テーブルの外部キーであり、table1テーブルのid列を参照しています。

そして、データを挿入する際には、外部キー制約が破壊されないようにする必要があります。

INSERT INTO table1 (id, name) VALUES (1, 'John');
INSERT INTO table2 (id, table1_id) VALUES (1, 1); // 这里的1是table1表中的id

存在しない外部キー値を挿入しようとすると、エラーメッセージが表示されます。

INSERT INTO table2 (id, table1_id) VALUES (2, 2); // 尝试插入一个不存在的外键值
-- Error: foreign key mismatch - "table2" referencing "table1"

したがって、SQLiteで外部キー制約を使用できます。

bannerAds