SQLite 外键
SQLite外键用于指定一个表中的值也存在于另一个表中。它在SQLite数据库中强制实施引用完整性。被引用的表称为父表,而带有外键的表称为子表。子表中的外键通常引用父表的主键。
您只能在CREATE TABLE语句中定义外键。
创建外键
语法:
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
CONSTRAINT fk_column
FOREIGN KEY (column1, column2, ... column_n)
REFERENCES parent_table (column1, column2, ... column_n)
);
示例:
创建一个具有外键的表”departments”。
CREATE TABLE departments
( department_id INTEGER PRIMARY KEY AUTOINCREMENT,
department_name VARCHAR
);
CREATE TABLE employees
(employee_id INTEGER PRIMARY KEY AUTOINCREMENT,
last_name VARCHAR NOT NULL,
first_name VARCHAR,
department_id INTEGER,
CONSTRAINT fk_departments
FOREIGN KEY (department_id)
REFERENCES departments(department_id)
);
在departments表上创建了一个主键department_id。然后在employees表上创建了一个名为fk_departments的外键,该外键引用了departments表中基于department_id字段的值。