在创建外键之前,你需要先创建两个表格。下面是一个学生表格和一个成绩表格。
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT ); CREATE TABLE score ( id INT PRIMARY KEY, student_id INT NOT NULL, score INT NOT NULL );
在这个例子中,student_id 是两个表之间的关联键。请注意,student_id 可以是 student 表中的任何一个值。在创建外键时,需要使用 FOREIGN KEY 关键字。
ALTER TABLE score ADD CONSTRAINT fk_student_id FOREIGN KEY (student_id) REFERENCES student(id);
在这个例子中,大家使用了 ALTER TABLE 语句来向成绩表格添加外键。大家给外键命名为 fk_student_id,约束使用 student_id 列,并且参照了学生表的 id 列。这意味着只有在学生表中具有该 id 的记录存在时,成绩表格的学生 id 才能被插入。
如果想要删除外键,则可以使用以下语句:
ALTER TABLE score DROP FOREIGN KEY fk_student_id;
在 MySQL 中,外键是非常好的数据完整性控制。它要求你在插入数据之前进行检查,以确保该行数据所依赖的主表中的相应数据是存在的。