sql >> Database teknologi >  >> RDS >> Mysql

Udfyldning af felter i MySQL-databasen

Baseret på din tabel fra dit tidligere spørgsmål, skal du INSERT registrerer først på den uafhængige tabel (eller basistabellerne ). Nogle af disse tabeller er event , semester , Major_Minor osv. Disse kaldes uafhængige tabeller, fordi ingen fremmednøglebegrænsninger blev defineret.

Eksempel på forespørgsel til indsættelse på uafhængige tabeller,

-- 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');

Efter at poster er blevet indsat, kan du nu INSERT på afhængige tabeller. Disse kaldes afhængige tabeller, fordi fremmednøglebegrænsninger var defineret på dem. Du kan ikke tilføje en værdi på visse felter, den findes ikke på den anden tabel. Eksempel på afhængig tabel er Major_Class_br tabel,

-- 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);

Som du kan se, er værdierne for Class_ID og Major_Minor_ID eksisterede allerede i tabeller:class og Major_Minor fordi tabel Major_Class_br er afhængig af dem. For at illustrere mere om det, prøv at udføre forespørgslen nedenfor, hvor værdien for Class_ID eksisterer endnu ikke på Class tabel,

INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);

og du vil se denne fejl




  1. Tjek den plads, der bruges af en tabel i SQL Server

  2. mariadb-stik J Aurora Hurtig failover-implementering

  3. eliminering af regulære udtryk specialtegn

  4. Vil MySQL genbruge slettede ID'er, når Auto Increment anvendes