sql >> Databasteknik >  >> RDS >> Mysql

hur infogar man automatiskt referenser för främmande nyckel i tabeller i mysql eller JDBC?

Du får detta ID för din auto_increment-kolumn för den infogade raden med funktionen LAST_INSERT_ID :Så du kan använda

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

för din andra INSERT-operation.

Om du vill lägga till en rad med en utlösare i en tredje tabell, använd det nya sal_id och emp_id värden kan du göra det med en AFTER INSERT-utlösare på Salary tabell med det nya värdet i kolumnen emp_id och det senast infogade auto_increment id ... med redan nämnda LAST_INSERT_ID() funktion.

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;


  1. Hur mycket minne kommer att upptas av ett nollvärde i en DB?

  2. Vad är det bästa sättet att lagra en historisk prislista i en MySQL-tabell?

  3. MySQL matchar 2 av 5 fält

  4. Node MySQL escape LIKE-sats