SQL中的FOREIGN KEY约束用于保障表之间的关系完整性,它定义了一个表中的列(或一组列),这些列的值必须是另一个表中某一列的值,通常是另一表的主键。这种约束确保了引用表(子表)中的外键列的值必须存在于主表的主键列中,从而维护了表之间的一致性和关联。
例如,假设有两个表,一个是"students"表,另一个是"courses"表。在"courses"表中,我们希望有一个外键来引用"students"表中的学生ID,以确保每个课程都有一个关联的学生。这可以通过FOREIGN KEY约束来实现。
以下是一个示例,演示如何在"courses"表中创建一个外键引用"students"表中的主键:
CREATE TABLE students ( student_id INT PRIMARY KEY, name VARCHAR(50), age INT ); CREATE TABLE courses ( course_id INT PRIMARY KEY, course_name VARCHAR(50), student_id INT, FOREIGN KEY (student_id) REFERENCES students(student_id) );
在上面的示例中,"courses"表中的"student_id"列被定义为一个外键,它引用了"students"表中的"student_id"列。这意味着在"courses"表中的每个记录中,"student_id"列的值必须存在于"students"表中的"student_id"列中。这样就确保了"courses"表中的每个课程都与"students"表中的一个学生相关联,从而保障了表之间的关系完整性。
原文链接:codingdict.net