Vraag & Antwoord

Webprogrammeren & scripting

[mysql] volgende icrementele waarde

9 antwoorden
  • Hallo mensen. Hoe kom ik achter de waarde die een veld gaat krijgen van een nieuwe record als deze op auto_increment staat? max+1 is niet voldoende, als je namelijk records verwijderd, worden er nummers overgeslagen... Thanks. Jasper
  • Waarom wil je het weten?
  • Begrijp ik het goed, dat je unieke sleutels wilt "her"schrijven om zo geen "gaten"in je DB of ID-reeks te hebben?
  • met SELECT LAST_INSERT_ID, maar dat is alleen nuttig als je deze uitvoert NADAT je een nieuwe rij hebt geplaatst. handig bijvoorbeeld als je een zojuist gegenereerd ID nog in een andere tabel wilt gaan gebruiken...
  • Ik wil, voordat ik een nieuw record heb toegevoegd, weten welk id het record zal krijgen. Dit om te kunnen voorspellen welke link bij een bepaald artikel gaat horen, voordat het artikel überhaupt is verstuurd! Thanks
  • [quote:1b6aab4f30="jasperlevink"]Ik wil, voordat ik een nieuw record heb toegevoegd, weten welk id het record zal krijgen. Dit om te kunnen voorspellen welke link bij een bepaald artikel gaat horen, voordat het artikel überhaupt is verstuurd! Thanks[/quote:1b6aab4f30]SELECT LAST_INSERT_ID +1 lijkt me dan he, maar stel dat twee of meer mensen tegelijkertijd van je site gebruik maken, dan lijtk me dit geen goede en betrouwbare oplossing. Ik zou gewoon inserten en dan ID met een SELECt en wat uniek waarden ophalen of met [code:1:1b6aab4f30]mysql_insert_id [/code:1:1b6aab4f30]
  • @Demonaz Niet helemaal waar, LAST_INSERT_ID werkt per connectie en een andere clients hebben dus geen invloed op elkaar.
  • Je zou ook eens kunnen kijken naar het gebruik van GUID's; mits je database en/of je (script)taal daar ondersteuning voor biedt. Die zijn hier imho perfect voor.
  • [quote:c53325fdc5="Jakobvk"]@Demonaz Niet helemaal waar, LAST_INSERT_ID werkt per connectie en een andere clients hebben dus geen invloed op elkaar.[/quote:c53325fdc5]Oke dat wist ik niet, maar wel mooi.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.