Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wypełnianie pól w bazie danych MySQL

W oparciu o tabelę z poprzedniego pytania musisz INSERT rekordy najpierw w niezależnej tabeli (lub tabelach podstawowych ). Niektóre z tych tabel to event , semester , Major_Minor itp. Są to tak zwane niezależne tabele, ponieważ brak ograniczeń kluczy obcych zostały zdefiniowane.

Przykładowe zapytanie do wstawienia w niezależnych tabelach,

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

Po wstawieniu rekordów możesz teraz INSERT na tabelach zależnych. Są to tak zwane zależne tabele, ponieważ zostały na nich zdefiniowane ograniczenia klucza obcego. Nie możesz dodać wartości w niektórych polach, których nie ma w innej tabeli. Przykładem tabeli zależnej jest Major_Class_br stół,

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

Jak widać, wartości dla Class_ID i Major_Minor_ID już istnieje w tabelach:class i Major_Minor ponieważ tabela Major_Class_br jest od nich zależny. Aby zilustrować więcej na ten temat, spróbuj wykonać poniższe zapytanie, w którym wartość Class_ID nie istnieje jeszcze w Class stół,

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

i zobaczysz ten błąd




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń zduplikowane wpisy w tabeli MySQL

  2. Szukaj w kolumnie Json z Laravel

  3. Wartość zewnętrznej kolumny wyboru w połączonym podzapytaniu?

  4. MySQL nie usuwa rekordów

  5. MySQL Errno 150