Mysql
 sql >> Database >  >> RDS >> Mysql

come inserire automaticamente i riferimenti di chiave esterna nelle tabelle in mysql o JDBC?

Ottieni questo ID della colonna auto_increment per la riga inserita con la funzione LAST_INSERT_ID :Quindi puoi usare

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

per la tua seconda operazione INSERT.

Se desideri aggiungere una riga tramite un trigger in una terza tabella, utilizza il nuovo sal_id e emp_id valori, puoi farlo con un trigger AFTER INSERT sul Salary tabella utilizzando il nuovo valore nella colonna emp_id e l'ultimo auto_increment id inserito ... con la già menzionata funzione LAST_INSERT_ID().

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;