"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como inserir dados em tabelas MySQL com restrições de chave estrangeira?

Como inserir dados em tabelas MySQL com restrições de chave estrangeira?

Publicado em 2024-12-22
Navegar:746

How to Insert Data into MySQL Tables with Foreign Key Constraints?

Inserindo dados em tabelas com restrições de chave estrangeira no MySQL

Tabelas envolvendo relacionamentos de chave estrangeira requerem considerações especiais ao inserir dados para garantir a integridade dos dados. Vamos explorar como lidar com inserções no MySQL em dois cenários:

Caso 1: Inserindo um aluno com um professor pré-existente

Se você tiver um registro de aluno para inserir e o professor ao qual ele pertence já existe, você pode usar uma subconsulta para recuperar a chave estrangeira (id_teacher) com base no nome do professor:

INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
SELECT 'Joe The Student', id_teacher
  FROM TAB_TEACHER
 WHERE name_teacher = 'Professor Jack'
 LIMIT 1

Caso 2: Inserindo um aluno com um novo professor

Se o professor do aluno ainda não existir no banco de dados, você precisará realizar duas operações de inserção separadas:

  1. Insira o novo registro do professor na tabela TAB_TEACHER:
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Dr. Smith')
  1. Use o id do professor recém-criado (id_teacher) como chave estrangeira ao inserir o aluno:
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mary The Student', LAST_INSERT_ID())
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3