Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Preenchendo campos no banco de dados MySQL


Com base na tabela da sua pergunta anterior, você precisa INSERT registros primeiro na tabela independente (ou nas tabelas base ). Algumas dessas tabelas são event , semester , Major_Minor , etc. Elas são chamadas de tabelas independentes porque não há restrições de chave estrangeira foram definidos.

Consulta de exemplo para inserir em tabelas independentes,
-- 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');

Depois que os registros foram inseridos, agora você pode INSERT em tabelas dependentes. Estes são chamados de dependentes tabelas porque as restrições de chave estrangeira foram definidas nelas. Você não pode adicionar um valor em determinados campos que não existe na outra tabela. Exemplo de tabela dependente é Major_Class_br tabela,
-- 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 você pode ver, os valores para Class_ID e Major_Minor_ID já existia nas tabelas:class e Major_Minor porque a tabela Major_Class_br é dependente deles. Para ilustrar mais sobre isso, tente executar a consulta abaixo em que o valor para Class_ID ainda não existe na Class tabela,
INSERT INTO Major_Class_br (ID, Class_ID, Major_Minor_ID) VALUES (7,5,2);

e você verá este erro