Como lidar com a inserção de chave estrangeira em consultas MySQL
Para inserir valores com eficiência em tabelas com chaves estrangeiras, vamos explorar dois cenários comuns:
Cenário 1: Adicionando um aluno com um professor existente
Para vincular um novo aluno a um professor pré-existente, recupere a chave estrangeira usando o nome de um 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;
Cenário 2: Criando simultaneamente um novo professor e um novo aluno
Ao criar um novo aluno e um professor inexistente:
-- Insert a new teacher first
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Professor Jade');
-- Retrieve the newly created teacher's ID
SET @teacher_id = LAST_INSERT_ID();
-- Insert the new student with the foreign key pointing to the new teacher
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mia The Student', @teacher_id);
Neste cenário, a função LAST_INSERT_ID() é usada para capturar o ID do professor recém-inserido para uso imediato como chave estrangeira para o aluno.
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