SQLite Foreign Key主键

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

在这里,在部门表上创建一个主键department_id。然后在 employee 表上创建一个名为fk_departments 的外键,该外键基于 department_id 字段引用部门表。

热门文章

优秀文章