Sur la base de votre tableau de votre question précédente, vous devez INSERT
enregistre d'abord sur la table indépendante (ou les tables de base ). Certaines de ces tables sont event
, semester
, Major_Minor
, etc. Celles-ci sont appelées tables indépendantes car aucune contrainte de clé étrangère ont été définis.
Exemple de requête à insérer sur des tables indépendantes,
-- 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');
Une fois les enregistrements insérés, vous pouvez maintenant INSERT
sur des tables dépendantes. Ceux-ci sont appelés dépendants tables car des contraintes de clé étrangère y ont été définies. Vous ne pouvez pas ajouter une valeur sur certains champs, il n'existe pas sur l'autre table. Un exemple de table dépendante est Major_Class_br
tableau,
-- 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);
Comme vous pouvez le voir, les valeurs de Class_ID
, et Major_Minor_ID
existait déjà sur les tables :class
et Major_Minor
car la table Major_Class_br
dépend d'eux. Pour illustrer davantage cela, essayez d'exécuter la requête ci-dessous dans laquelle la valeur de Class_ID
n'existe pas encore sur la Class
tableau,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
et vous verrez cette erreur