Baseret på din tabel fra dit tidligere spørgsmål, skal du INSERT
registrerer først på den uafhængige tabel (eller basistabellerne ). Nogle af disse tabeller er event
, semester
, Major_Minor
osv. Disse kaldes uafhængige tabeller, fordi ingen fremmednøglebegrænsninger blev defineret.
Eksempel på forespørgsel til indsættelse på uafhængige tabeller,
-- 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');
Efter at poster er blevet indsat, kan du nu INSERT
på afhængige tabeller. Disse kaldes afhængige tabeller, fordi fremmednøglebegrænsninger var defineret på dem. Du kan ikke tilføje en værdi på visse felter, den findes ikke på den anden tabel. Eksempel på afhængig tabel er Major_Class_br
tabel,
-- 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);
Som du kan se, er værdierne for Class_ID
og Major_Minor_ID
eksisterede allerede i tabeller:class
og Major_Minor
fordi tabel Major_Class_br
er afhængig af dem. For at illustrere mere om det, prøv at udføre forespørgslen nedenfor, hvor værdien for Class_ID
eksisterer endnu ikke på Class
tabel,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
og du vil se denne fejl