Mam pytanie MySQL, które moim zdaniem musi być dość łatwe. Muszę wrócić ostatni zapisany identyfikator z tabela1 kiedy uruchomić następujące MySql zapytanie:LAST_INSERT_ID() MySQL
INSERT INTO table1 (title,userid) VALUES ('test',1);
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(),4,1);
SELECT LAST_INSERT_ID();
Jak można zrozumieć aktualny kod będzie po prostu zwrócenie ostatniej INSERT identyfikator Table2 zamiast tabela1, w jaki sposób można uzyskać id z table1, nawet jeśli wstawię do table2 między?
Dzięki! Nie udało mi się go uruchomić po raz pierwszy, ponieważ korzystałem z asp.net z MySQL i musiałem dodać zmienne Allow User Variables = True do ciągu połączenia, aby umożliwić zmienne. – Martin
max nie jest dobrym pomysłem, ponieważ możesz stracić wyścig z innym wprowadzającym. –
@RobStarling Całkowicie się zgadzam, ale na wypadek, gdyby ktoś tego potrzebował; użyj transakcji z odpowiednim poziomem izolacji. – Aidiakapi