Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ausfüllen von Feldern in der MySQL-Datenbank

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