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));
Tôi đang cố gắng đảm bảo tính nhất quán dữ liệu giữa các bảng bằng cách sử dụng khóa ngoài để DBMS có thể kiểm tra lỗi; tuy nhiên, có vẻ như chúng tôi không thể làm điều đó vì một lý do nào đó. Lỗi là gì và có cách nào khác không? Ngoài ra, khi tôi điền vào một bảng có khóa ngoại, tôi không thể điền vào trường được dành riêng cho khoá ngoại, đúng không? Ngoài ra, là một chìa khóa nước ngoài được coi là một chìa khóa ở tất cả?Mã lỗi: 1215. Không thể thêm ràng buộc khóa ngoài (khóa ngoài)
TẠO DATABASE my_db3; CREATE TABLE class (classID int NOT NULL AUTO_INCREMENT, nameClass varchar (255), classLeader int, KEY NƯỚC NGOÀI (classLeader) Tài liệu tham khảo học sinh (StudentID), PRIMARY KEY (classID)); HIỂN THỊ CREATE TABLE học sinh (StudentID int NOT NULL AUTO_INCREMENT, lastName varchar (255), firstName varchar (255), classID int, KEY NƯỚC NGOÀI (classID) Tài liệu tham khảo lớp (classID), PRIMARY KEY (StudentID)) ; –
Tôi vẫn gặp lỗi. –
@ GEORGEReed..Nó hữu ích nếu bạn có thể đăng lỗi mà bạn đang gặp phải. – Rohan