Dựa trên bảng từ câu hỏi trước của bạn, bạn cần phải INSERT
bản ghi đầu tiên trên bảng độc lập ( hoặc các bảng cơ sở ). Một số bảng này là event
, semester
, Major_Minor
, v.v. Đây được gọi là các bảng độc lập vì không có ràng buộc khóa ngoại đã được xác định.
Truy vấn Mẫu để Chèn trên các bảng độc lập,
-- INSERTING records on table event
INSERT INTO event (ID, event_description, event_datetime) VALUES
(1, 'hello', NOW()),
(2, 'world', NOW()),
(3, 'stack', NOW()),
(4, 'overflow', NOW());
-- INSERTING records on table semester
INSERT INTO semester (ID, SEMESTER_NAme) VALUES
(1, 'First Semester'),
(2, 'Second Semester'),
(3, 'Summer');
-- INSERTING records on table Major_Minor
INSERT INTO Major_Minor (ID, Major_Minor_Name) VALUES
(1, 'Math'),
(2, 'Science'),
(3, 'English');
-- INSERTING records on table class
INSERT INTO class (ID, class_name) VALUES
(1, 'Alpha'),
(2, 'Beta'),
(3, 'Gamma'),
(4, 'Omega');
Sau khi các bản ghi đã được chèn, bây giờ bạn có thể INSERT
trên các bảng phụ thuộc. Chúng được gọi là phụ thuộc bảng vì các ràng buộc khóa ngoại đã được xác định trên chúng. Bạn không thể thêm giá trị vào các trường nhất định mà nó không tồn tại trên bảng khác. Ví dụ về bảng phụ thuộc là Major_Class_br
bảng,
-- INSERTING records on table Major_Class_br
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES
(1,1,1),
(2,1,2),
(3,1,3),
(4,2,1),
(5,2,1),
(6,4,2);
Như bạn có thể thấy, các giá trị cho Class_ID
và Major_Minor_ID
đã tồn tại trên các bảng:class
và Major_Minor
vì bảng Major_Class_br
là phụ thuộc vào họ. Để minh họa thêm về điều đó, hãy thử thực hiện truy vấn bên dưới, trong đó giá trị cho Class_ID
chưa tồn tại trên Class
bảng,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
và bạn sẽ thấy lỗi này