laagste id pakken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nick

Nick

23/11/2008 19:06:00
Quote Anchor link
Ik heb een database met id's dus een voorbeeld:
Tabel: pagina

id: titel: content:
10 hoi cms
14 test test

nou moet ik dus de laagste id hebben. hoe moet ik dit doen in deze $sql
$sql = "SELECT content,titel FROM pagina WHERE id = ";
 
PHP hulp

PHP hulp

22/12/2024 12:39:14
 
Danny K

Danny K

23/11/2008 19:11:00
Quote Anchor link
Check MIN. Klik!
 
Citroen Anoniem Graag

Citroen Anoniem Graag

23/11/2008 19:14:00
Quote Anchor link
Even een vraagje?
Waarom zou je het laagste id willen hebben? Een id heeft geen waarde. Een id is een sleutel die enkel en alleen dient om een record herkenbaar (en dus uniek) te maken.
Het zegt niets over een volgorde, de oudheid, een positie of wat dan ook.
Een id is niets zeggend over de inhoud van het record!

47854 kan best jonger zijn dan 248
Gewijzigd op 01/01/1970 01:00:00 door Citroen Anoniem Graag
 
Marco

Marco

23/11/2008 19:31:00
Quote Anchor link
Citroen schreef op 23.11.2008 19:14:
Even een vraagje?
Waarom zou je het laagste id willen hebben? Een id heeft geen waarde. Een id is een sleutel die enkel en alleen dient om een record herkenbaar (en dus uniek) te maken.
Het zegt niets over een volgorde, de oudheid, een positie of wat dan ook.
Een id is niets zeggend over de inhoud van het record!

47854 kan best jonger zijn dan 248

Dat komt omdat het kan voorkomen dat je een record hebt met id = 8, die je delete en vervolgens een nieuw record toevoegd, die dan id 8 krijgt omdat die vrij is.
Als je het id wilt hebben om te kijken welke record het jongst is, zou je bij elk record de datum kunnen plaatsen.
 
Klaasjan Boven

Klaasjan Boven

23/11/2008 19:46:00
Quote Anchor link
Marco schreef op 23.11.2008 19:31:
Citroen schreef op 23.11.2008 19:14:
Even een vraagje?
Waarom zou je het laagste id willen hebben? Een id heeft geen waarde. Een id is een sleutel die enkel en alleen dient om een record herkenbaar (en dus uniek) te maken.
Het zegt niets over een volgorde, de oudheid, een positie of wat dan ook.
Een id is niets zeggend over de inhoud van het record!

47854 kan best jonger zijn dan 248

Dat komt omdat het kan voorkomen dat je een record hebt met id = 8, die je delete en vervolgens een nieuw record toevoegd, die dan id 8 krijgt omdat die vrij is.
Als je het id wilt hebben om te kijken welke record het jongst is, zou je bij elk record de datum kunnen plaatsen.


Dat doe je dus niet. Je doet net of jij als programmeur het id bepaald. Het bepalen van het id van een record laat je altijd aan de database over.
Bovendien is het niet nodig om een record te deleten, zet in elke tabel gewoon een veld verwijderd. Als dat veld nog leeg is bestaat het record nog, staat er een teken in dan is het record verwijderd
 
Marco

Marco

23/11/2008 19:49:00
Quote Anchor link
Klaasjan Boven schreef op 23.11.2008 19:46:
Marco schreef op 23.11.2008 19:31:
Citroen schreef op 23.11.2008 19:14:
Even een vraagje?
Waarom zou je het laagste id willen hebben? Een id heeft geen waarde. Een id is een sleutel die enkel en alleen dient om een record herkenbaar (en dus uniek) te maken.
Het zegt niets over een volgorde, de oudheid, een positie of wat dan ook.
Een id is niets zeggend over de inhoud van het record!

47854 kan best jonger zijn dan 248

Dat komt omdat het kan voorkomen dat je een record hebt met id = 8, die je delete en vervolgens een nieuw record toevoegd, die dan id 8 krijgt omdat die vrij is.
Als je het id wilt hebben om te kijken welke record het jongst is, zou je bij elk record de datum kunnen plaatsen.


Dat doe je dus niet. Je doet net of jij als programmeur het id bepaald. Het bepalen van het id van een record laat je altijd aan de database over.
Bovendien is het niet nodig om een record te deleten, zet in elke tabel gewoon een veld verwijderd. Als dat veld nog leeg is bestaat het record nog, staat er een teken in dan is het record verwijderd

Waar zie jij staan dat ik suggereer dat je het id zelf moet bepalen?
 
Frank -

Frank -

23/11/2008 19:58:00
Quote Anchor link
Marco schreef op 23.11.2008 19:31:
... die dan id 8 krijgt omdat die vrij is.
Een id is niet vrij, een id is reeds uitgegeven. Dat je hem vervolgens nooit meer gebruikt, is geen enkel probleem. Een database kan wel een paar honderd miljard id's uitdelen.

Voor alle database-beginners: een id heeft geen enkele betekenis. Het is uniek en blijft uniek. Wanneer je een id meerdere keren wilt gebruiken voor verschillende data, dan is het id niet meer uniek en ben je dus fout bezig.

Het gaat in PostgreSQL zelfs zo ver dat je een SERIAL (= slim mechanisme om id's aan te maken) binnen een transactie niet terug kunt draaien, ook al maak je de transactie ongedaan. Er wordt hier geen enkel risico genomen met id's, daar mag nooit wat fout mee kunnen gaan. Zelfs niet in theorie. Blijf dus met je fikken af van de id's en laat de database dit lekker uitzoeken.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Klaasjan Boven

Klaasjan Boven

23/11/2008 20:01:00
Quote Anchor link
@Marco.

Frank heeft precies aangegeven waar jij suggereert dat je een id moet aanmaken
 
Marco

Marco

23/11/2008 20:23:00
Quote Anchor link
Dan heb ik het verkeerd gezegt, want ik bedoelde niet dat het id zelf aangemaakt moet worden.
Gewijzigd op 01/01/1970 01:00:00 door Marco
 
Klaasjan Boven

Klaasjan Boven

23/11/2008 20:26:00
Quote Anchor link
Ok, dan heb ik je verkeer begrepen. Jij geeft echter aan dat een vrijgekomen id weer gebruikt wordt.
Ook dat mag nooit gebeuren. Een id wordt vaak opgenomen in koppeltabellen. Je wilt nooit dat een reeds gebruikt id weer gebruikt wordt omdat dat tot datacorruptie kan leiden
 
Frank -

Frank -

23/11/2008 20:27:00
Quote Anchor link
Nou, misschien dat je hem niet zelf aanmaakt, maar je roept wel dat deze "vrij" is. En dat is onzin, een id is uitgegeven en kun je/mag je dus nooit meer uitgeven. Een id blijf je vanaf en je kent er geen enkele waarde aan toe. Het heeft geen waarde.

Offtopic: dit verhaal komt ook een paar keer in de week voorbij, toch jammer.
 
Marco

Marco

23/11/2008 20:51:00
Quote Anchor link
We gaan inderdaad behoorlijk offtopic. Dus misschien dat we weer verder kunnen gaan over de vraag.

Waarom wil je het laagste id hebben?
 
Nick

Nick

23/11/2008 21:06:00
Quote Anchor link
Het hoeft al niet meer maar bedankt allemaal.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.