Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment insérer automatiquement des références de clés étrangères dans des tables dans mysql ou JDBC ?

Vous obtenez cet ID de votre colonne auto_increment pour la ligne insérée avec la fonction LAST_INSERT_ID :Vous pouvez donc utiliser

INSERT into SALARY (salary_figure, emp_id) values ("30000", LAST_INSERT_ID());

pour votre deuxième opération INSERT.

Si vous souhaitez ajouter une ligne par un déclencheur dans une troisième table, en utilisant le nouveau sal_id et emp_id valeurs, vous pouvez le faire avec un déclencheur AFTER INSERT sur le Salary table en utilisant la nouvelle valeur dans la colonne emp_id et le dernier auto_increment id inséré ... avec la fonction LAST_INSERT_ID() déjà mentionnée.

CREATE TRIGGER salary_after_insert AFTER INSERT ON `SALARY` 
    FOR EACH ROW
    BEGIN
         INSERT INTO join_table (emp_id, sal_id) VALUES (NEW.emp_id, LAST_INSERT_ID());
    END;