Въз основа на вашата таблица от предишния ви въпрос, трябва да INSERT
записва първо в независимата таблица (или базовите таблици ). Някои от тези таблици са event
, semester
, Major_Minor
, и т.н. Те се наричат независими таблици, защото няма ограничения за външен ключ бяха дефинирани.
Примерна заявка за вмъкване в независими таблици,
-- 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');
След като записите бъдат вмъкнати, вече можете да INSERT
на зависими таблици. Те се наричат зависими таблици, тъй като за тях са дефинирани ограничения за външен ключ. Не можете да добавите стойност в определени полета, тя не съществува в другата таблица. Пример за зависима таблица е Major_Class_br
маса,
-- 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);
Както можете да видите, стойностите за Class_ID
и Major_Minor_ID
вече съществува в таблици:class
и Major_Minor
защото таблица Major_Class_br
зависи от тях. За да илюстрирате повече за това, опитайте да изпълните заявката по-долу, където стойността за Class_ID
все още не съществува в Class
маса,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
и ще видите тази грешка