In base alla tabella della tua domanda precedente, devi INSERT
prima i record nella tabella indipendente (o nelle tabelle di base ). Alcune di queste tabelle sono event
, semester
, Major_Minor
, ecc. Queste sono chiamate tabelle indipendenti perché nessun vincolo di chiave esterna sono stati definiti.
Esempio di query da inserire su tabelle indipendenti,
-- 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');
Dopo che i record sono stati inseriti, ora puoi INSERT
su tabelle dipendenti. Questi sono chiamati dipendenti tabelle perché su di esse sono stati definiti vincoli di chiave esterna. Non puoi aggiungere un valore su determinati campi che non esiste nell'altra tabella. Un esempio di tabella dipendente è Major_Class_br
tabella,
-- 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);
Come puoi vedere, i valori per Class_ID
e Major_Minor_ID
esisteva già nelle tabelle:class
e Major_Minor
perché tabella Major_Class_br
dipende da loro. Per illustrare di più su questo, prova a eseguire la query di seguito in cui il valore per Class_ID
non esiste ancora nel Class
tabella,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
e vedrai questo errore