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で外部キー制約を使用できます。