"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo insertar datos en tablas MySQL con restricciones de clave externa?

¿Cómo insertar datos en tablas MySQL con restricciones de clave externa?

Publicado el 2024-12-22
Navegar:825

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

Inserción de datos en tablas con restricciones de clave externa en MySQL

Las tablas que involucran relaciones de clave externa requieren consideraciones especiales al insertar datos para garantizar la integridad de los datos. Exploremos cómo manejar las inserciones en MySQL para dos escenarios:

Caso 1: Insertar un estudiante con un profesor preexistente

Si tiene un registro de estudiante para insertar y el profesor al que pertenece ya existe, puede utilizar una subconsulta para recuperar la clave externa (id_teacher) según el nombre del profesor:

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

Si el maestro del estudiante aún no existe en la base de datos, debe realizar dos operaciones de inserción separadas:

  1. Inserte el nuevo registro de profesor en la tabla TAB_TEACHER:
INSERT INTO TAB_TEACHER(name_teacher)
VALUES ('Dr. Smith')
  1. Utilice la identificación del profesor recién creado (id_teacher) como clave externa al insertar al estudiante:
INSERT INTO TAB_STUDENT(name_student, id_teacher_fk)
VALUES ('Mary The Student', LAST_INSERT_ID())
Último tutorial Más>

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