Op basis van uw tabel uit uw vorige vraag, moet u INSERT
records eerst op de onafhankelijke tabel (of de basistabellen ). Sommige van deze tabellen zijn event
, semester
, Major_Minor
, enz. Dit worden onafhankelijke tabellen genoemd omdat geen beperkingen voor refererende sleutels werden gedefinieerd.
Voorbeeldquery om in onafhankelijke tabellen in te voegen,
-- 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');
Nadat records zijn ingevoegd, kunt u nu INSERT
op afhankelijke tabellen. Deze worden afhankelijk genoemd tabellen omdat er beperkingen voor externe sleutels voor zijn gedefinieerd. U kunt geen waarde toevoegen aan bepaalde velden, deze bestaat niet in de andere tabel. Voorbeeld van een afhankelijke tabel is Major_Class_br
tafel,
-- 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);
Zoals u kunt zien, zijn de waarden voor Class_ID
, en Major_Minor_ID
bestond al op tabellen:class
en Major_Minor
omdat tabel Major_Class_br
is van hen afhankelijk. Om daar meer over te illustreren, probeer de onderstaande query uit te voeren waarin de waarde voor Class_ID
bestaat nog niet in de Class
tafel,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
en je zult deze fout zien