Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]insert do jednej tabeli i użycie zwróconego ID do insertu w drugiej tabeli
Forum PHP.pl > Forum > Przedszkole
szczrzcz
INSERT INTO `ccc` (`id`, `vvv`) VALUES (NULL, '31');

id jest generowane automatycznie. Ale to id potrzebuję w drugim insercie do drugiej tabeli używającej powyższego id. Jak to zrobić w jednym zapytaniu?
markuz
Kod
SET @last_id = LAST_INSERT_ID();

Potem to @last_id wstawiasz jako VALUE do kolejnego INSERT.
Pyton_000
Last_insert_id() nie jest obiektywne, bo jako ID możemy dostać wartość z całkiem innnej operacji. Dodatkowo jak mamy InnoDB a zrbimy insert ignore i rekord nam nie wpadnie to również dostaniemy wartość wink.gif

Najlepiej (bezpiecznie) jest robić select wyciągający ID, zapisać go sobie w zmiennej i potem tego użyć. Albo bezpośrednio w insert zrobić selecta.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.