Baserat på din tabell från din tidigare fråga måste du INSERT
poster först på den oberoende tabellen (eller bastabellerna ). Några av dessa tabeller är event
, semester
, Major_Minor
, etc. Dessa kallas oberoende tabeller eftersom inga främmande nyckelbegränsningar definierades.
Exempelfråga att infoga i oberoende 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 att poster har infogats kan du nu INSERT
på beroende tabeller. Dessa kallas beroende tabeller eftersom begränsningar för främmande nyckel definierades på dem. Du kan inte lägga till ett värde på vissa fält, det finns inte i den andra tabellen. Exempel på beroende tabell är Major_Class_br
tabell,
-- 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 är värdena för Class_ID
och Major_Minor_ID
existerade redan i tabeller:class
och Major_Minor
eftersom tabellen Major_Class_br
är beroende av dem. För att illustrera mer om det, försök att köra frågan nedan där värdet för Class_ID
finns inte ännu i Class
tabell,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
och du kommer att se det här felet