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
19.07.2017, 20:54:50
Kod
SET @last_id = LAST_INSERT_ID();
Potem to @last_id wstawiasz jako VALUE do kolejnego INSERT.
Pyton_000
20.07.2017, 06:34:20
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ść
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.