ugrás a tartalomhoz

sql lekérdezés

Castor87 · 2007. Júl. 26. (Cs), 20.10
Üdv!
Van egy sql táblám, melynek két oszlopa van: kepnev, leiras. Képek neveit(fajlneve.kiterjesztes alapján) és leírásukat tartalmazzák. A kép/leírás megjelenítését sikerült megoldanom. Szeretnék egy előző/következő linket beilleszteni, de nem tudom hogy kell hivatkozni egyel fentebbi/lentebbi rekordra.

Gondoltam egy id oszlop bevezetésére, mely növekvő számokat tartalmaz, de ha kitörlök egy rekordot, akkor borul az egész rendszer.

Van esetleg függvény rá, ami a lekérdezésnél a két szomszéd rekordot is kiolvassa?

Köszönöm előre is!
 
1

Szomszéd

janoszen · 2007. Júl. 26. (Cs), 23.00
Erre be kell vezetned egy futó indexet, pl primary key-t, hogy legyen egy száma. Ebből aztán lehet alkotni.
2

id

zila · 2007. Júl. 27. (P), 08.17
Csak akkor borul a rendszer, ha az id nem szigorúan növekvő. Az autoincrement ill. szekvenciák nem szoktak csökkenni.

Az meg, hogy lesznek lyukak nem probléma.
pl. elemek: 126, 127, 128, 132, 456
aktuális elem id = 132

-- előző elem: 
select max(id) from tabla where id < 132

-- következő: 
select min(id) from tabla where id > 132
3

kieg: ehhez nem kell külön ID

Táskai Zsolt · 2007. Júl. 27. (P), 10.06
gondolom, most a fájlnév a primary key-ed. a Zila által ismertetett megoldás karakteres kulcs esetén is működik.