📜  SQLite外键

📅  最后修改于: 2020-11-13 01:00:56             🧑  作者: Mango

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)
); 

例:

创建一个具有外键的表“部门”。

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的外键,该键基于department_id字段引用了Departments表。