• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Uzyskanie ID właśnie dodanego rekordu

Object Storage Arubacloud
0 głosów
1,354 wizyt
pytanie zadane 17 stycznia 2018 w SQL, bazy danych przez Bartess Gaduła (3,630 p.)
zamknięte 17 stycznia 2018 przez Bartess
Cześć.
Taki problem: Dodaję do tabeli rekord, załóżmy: Imię, nazwisko, adres, płeć, wiek. Jeżeli chcę uzyskać id tego rekordu, to czy jedynym prostym sposobem jest zaraz po INSERT zrobienie SELECT z tym samym zestawem danych?
komentarz zamknięcia: Rozwiązany

1 odpowiedź

+2 głosów
odpowiedź 17 stycznia 2018 przez Tomasz90 Nałogowiec (25,140 p.)
wybrane 17 stycznia 2018 przez Bartess
 
Najlepsza
Zależy od bazy np. MySQL ma taką funkcję do tego LAST_INSERT_ID() a SQL Server ma klauzule OUTPUT i robisz to w tym samym poleceniu co INSERT
komentarz 17 stycznia 2018 przez Bartess Gaduła (3,630 p.)

Dzięki za nakierowanie! Znalazłem, czego potrzebowałem :-).
A znalazłem to:

stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();

 

3
komentarz 17 stycznia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Uważaj tylko na pewien niuans, a mianowicie jeśli dodasz w jednym INSERT kilka rekordów to zwrotne LAST_INSERT_ID() może dotyczyć tylko pierwszego z wprowadzonych rekodrów, a nie ostatniego. Dlatego jeśli korzystasz z tej funkcji to warto się zabezpieczyć i zawsze ładować rekordy pojedynczo.
komentarz 17 stycznia 2018 przez Tomasz90 Nałogowiec (25,140 p.)
no tak przy bulk insert to nie działa, mogłem o tym napisać, słuszna uwaga
komentarz 17 stycznia 2018 przez Bartess Gaduła (3,630 p.)

@Tomek Sochacki, masz rację, moje niedoprecyzowanie w pytaniu jest, choć z treści można to wywnioskować (...) Dodaję do tabeli rekord (...), że chodzi o dodanie jednego rekordu. 

1
komentarz 18 stycznia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Tak wiem, że pytałeś o przypadek pojedynczego rekordu. Napisałem tak bardziej informacyjnie tylko aby pamiętać o tym drobnym niuansie jeśli naszłaby człowieka ochota dodać od razu kilka rekordów... :) Można się czasem zdziwić, tym bardziej, że może to być trudne do wykrycia :)

Podobne pytania

0 głosów
2 odpowiedzi 386 wizyt
pytanie zadane 21 czerwca 2022 w PHP przez jakubjordanek Obywatel (1,320 p.)
0 głosów
4 odpowiedzi 600 wizyt
pytanie zadane 27 czerwca 2016 w SQL, bazy danych przez Bartess Gaduła (3,630 p.)
0 głosów
3 odpowiedzi 1,953 wizyt

92,572 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...