Según su tabla de su pregunta anterior, debe INSERT
registra primero en la tabla independiente (o las tablas base ). Algunas de estas tablas son event
, semester
, Major_Minor
, etc. Estas se denominan tablas independientes porque no hay restricciones de clave externa fueron definidos.
Consulta de muestra para insertar en tablas independientes,
-- 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');
Una vez insertados los registros, ahora puede INSERT
en tablas dependientes. Estos se denominan dependientes tablas porque se definieron restricciones de clave externa en ellas. No puede agregar un valor en ciertos campos si no existe en la otra tabla. Ejemplo de tabla dependiente es Major_Class_br
mesa,
-- 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);
Como puede ver, los valores para Class_ID
y Major_Minor_ID
ya existía en las tablas:class
y Major_Minor
porque la tabla Major_Class_br
depende de ellos. Para ilustrar más sobre eso, intente ejecutar la consulta a continuación en la que el valor de Class_ID
aún no existe en la Class
mesa,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);
y verás este error