Basierend auf Ihrer Tabelle aus Ihrer vorherigen Frage müssen Sie INSERT
eingeben Datensätze zuerst in der unabhängigen Tabelle (oder den Basistabellen ). Einige dieser Tabellen sind event
, semester
, Major_Minor
usw. Diese werden als unabhängige Tabellen bezeichnet, weil sie keine Fremdschlüsselbeschränkungen haben wurden definiert.
Beispielabfrage zum Einfügen in unabhängige Tabellen,
-- 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');
Nachdem Datensätze eingefügt wurden, können Sie nun INSERT
auf abhängigen Tabellen. Diese werden abhängig genannt Tabellen, da für sie Fremdschlüsseleinschränkungen definiert wurden. Sie können bestimmten Feldern keinen Wert hinzufügen, der in der anderen Tabelle nicht vorhanden ist. Beispiel einer abhängigen Tabelle ist Major_Class_br
Tabelle,
-- 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);
Wie Sie sehen können, sind die Werte für Class_ID
und Major_Minor_ID
existierte bereits auf Tabellen:class
und Major_Minor
weil Tabelle Major_Class_br
ist auf sie angewiesen. Um mehr darüber zu veranschaulichen, versuchen Sie, die folgende Abfrage auszuführen, in der der Wert für Class_ID
existiert noch nicht in der Class
Tabelle,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
und Sie werden diesen Fehler sehen