CREATE DATABASE my_db;
CREATE TABLE class (
classID int NOT NULL AUTO_INCREMENT,
nameClass varchar(255),
classLeader varchar(255),
FOREIGN KEY (classLeader) REFERENCES student(studentID),
PRIMARY KEY (classID));
CREATE TABLE student (
studentID int NOT NULL AUTO_INCREMENT,
lastName varchar(255),
firstName varchar(255),
classID int,
FOREIGN KEY (classID) REFERENCES class(classID),
PRIMARY KEY (studentID));
Run Code Online (Sandbox Code Playgroud)
我试图通过使用外键确保表之间的数据一致性,以便DBMS可以检查错误; 然而,似乎我们不能出于某种原因这样做.什么是错误,有替代方案吗?另外,当我填写一个有外键的表时,我无法填写为外键保留的字段,对吗?是否外键被认为是关键?