"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 se insertan valores con claves foráneas en MySQL?

¿Cómo se insertan valores con claves foráneas en MySQL?

Publicado el 2024-11-08
Navegar:455

How do you insert values with foreign keys in MySQL?

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.

Ú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