Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como inserir automaticamente referências de chave estrangeira em tabelas no mysql ou JDBC?


Você obtém este ID da sua coluna auto_increment para a linha inserida com a função LAST_INSERT_ID :Então você pode usar
INSERT into SALARY (salary_figure, emp_id) values ("30000", LAST_INSERT_ID());

para sua segunda operação INSERT.

Se você quiser adicionar uma linha por um gatilho em uma terceira tabela, usando o novo sal_id e emp_id valores, você pode fazer isso com um gatilho AFTER INSERT no Salary table usando o novo valor na coluna emp_id e o último auto_increment id inserido ... com a função LAST_INSERT_ID() já mencionada.
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;