外键
Last updated
Was this helpful?
Last updated
Was this helpful?
一个表中的 FOREIGN KEY 指向另一个表中的 UNIQUE KEY(唯一约束的键)。
让我们通过一个实例来解释外键。请看下面两个表:
"teachers" 教师表:
"courses" 课程表:
注意:
"courses" 表中的 "teacher_id" 列指向 "teachers" 表中的 "id" 列。
"teachers" 表中的 "id" 列是 "teachers" 表中的 PRIMARY KEY。
"courses" 表中的 "teacher_id" 列是 "courses" 表中的 FOREIGN KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的行为。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
下面的 SQL 在 "courses" 表创建时在 "teacher_id" 列上创建 FOREIGN KEY 约束:
MySQL
SQL Server/ Oracle/ MS Access
其中
NOT NULL
表示该字段不为空
REFERENCES
表示引用一个表
如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
其中
CONSTRAINT
表示约束,后面接约束名称,常用于创建约束和删除约束。
当 "courses" 表已被创建时,如需在 "course_id" 列创建 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access
如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
如需撤销 FOREIGN KEY 约束,请使用下面的 SQL:
MySQL
SQL Server / Oracle / MS Access