anoniem Geplaatst: 29 november 2004 Delen Geplaatst: 29 november 2004 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 Quote Link naar reactie
anoniem Geplaatst: 29 november 2004 Auteur Delen Geplaatst: 29 november 2004 Waarom wil je het weten? Quote Link naar reactie
anoniem Geplaatst: 29 november 2004 Auteur Delen Geplaatst: 29 november 2004 Begrijp ik het goed, dat je unieke sleutels wilt "her"schrijven om zo geen "gaten"in je DB of ID-reeks te hebben? Quote Link naar reactie
anoniem Geplaatst: 29 november 2004 Auteur Delen Geplaatst: 29 november 2004 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... Quote Link naar reactie
anoniem Geplaatst: 29 november 2004 Auteur Delen Geplaatst: 29 november 2004 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 Link naar reactie
anoniem Geplaatst: 30 november 2004 Auteur Delen Geplaatst: 30 november 2004 [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] Quote Link naar reactie
anoniem Geplaatst: 30 november 2004 Auteur Delen Geplaatst: 30 november 2004 @Demonaz Niet helemaal waar, LAST_INSERT_ID werkt per connectie en een andere clients hebben dus geen invloed op elkaar. Quote Link naar reactie
anoniem Geplaatst: 30 november 2004 Auteur Delen Geplaatst: 30 november 2004 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 Link naar reactie
anoniem Geplaatst: 1 december 2004 Auteur Delen Geplaatst: 1 december 2004 [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. Quote Link naar reactie
anoniem Geplaatst: 1 december 2004 Auteur Delen Geplaatst: 1 december 2004 Is het geen optie eerst het artikel/record in de database aan te maken, en vervolgens het artikel in te voeren door het record te wijzigen? Het werken met de last insert is erg riskant, om redenen die al zijn aangegeven. Je kunt namelijk altijd in de situatie terechtkomen, waar meerdere mensen tegelijkertijd een artikel submitten. Deze krijgen dan alle een verschillend nummer, terwijl de browsers hetzelfde nummer aan zouden geven. Verdiep je maar eens in het verschijnsel 'race condition'. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen