Insertar valores con claves externas en MySQL
Cuando se trabaja con bases de datos relacionales, a menudo es necesario insertar valores en tablas con claves externas. Aquí se explica cómo manejar dos casos específicos:
CASO 1: Insertar un estudiante con un maestro existente
En este caso, usted sabe el nombre del maestro y necesita recuperar su ID de la tabla TAB_TEACHER. La siguiente consulta utiliza una subconsulta para obtener el valor de la clave externa:
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: Insertar un estudiante con un nuevo maestro
Para este caso, debe insertar tanto el nuevo maestro como el nuevo estudiante. Esto requiere dos declaraciones 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)
Tenga en cuenta que la sintaxis específica puede variar según su versión de MySQL. Para obtener más información, consulte la documentación oficial.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3