Inserindo valores com chaves estrangeiras no MySQL
Ao trabalhar com bancos de dados relacionais, muitas vezes é necessário inserir valores em tabelas com chaves estrangeiras. Veja como lidar com dois casos específicos:
CASO 1: Inserindo um aluno com um professor existente
Neste caso, você sabe o nome do professor e precisa recuperar seu ID da tabela TAB_TEACHER. A consulta a seguir usa uma subconsulta para obter o valor da chave estrangeira:
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
Para este caso, você precisa inserir o novo professor e o novo aluno. Isso requer duas instruções INSERT separadas:
-- Insert the new teacher
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('John Smith')
-- Get the new teacher's ID
SET @id_teacher_fk = LAST_INSERT_ID()
-- Insert the new student with the foreign key value
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Jane Doe', @id_teacher_fk)
Observe que a sintaxe específica pode variar dependendo da sua versão do MySQL. Para obter detalhes, consulte a documentação oficial.
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