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是在部门表中创建。然后是在员工表创建了一个名为fk_departments一个外键引用基础上,DEPARTMENT_ID领域的部门表。
评论前必须登录!
注册