marioff
Obvykla struktura tabulky byva
clanky: id_clanek, nadpis, text, autor, dalsi sloupce
Sloupec id_clanek byva typu AUTOINCREMENT.
Pokud to mas jinak, tak doporucuji tam to id dat. Pouzijes ho pak pro spoustu veci, treba pro UPDATE a DELETE operace s clankym.
SELECT (id_clanek, nadpis, text, autor) FROM clanky
INSERT INTO (nadpis,text) VALUES ('aaa','bbb') // tady id neuvadis, on si ho sam vytvori
UPDATE nadpis, text FROM clanky WHERE id_clanek=123
DELETE FROM clanky WHERE id_clanek=123
Pripadne se da pouzit zobrazeni konkretnich clanku
SELECT (id_clanek, nadpis, text, autor) FROM clanky WHERE id_clanek IN (3,67,438)
topanky-1
topanky-2
z toho selectu pak dostanes jako
$row['nadpis'].'-'.$row['id_clanek']
Jen to teda bude spis
topanky-13
topanky-563
Vyhoda ciselneho sloupce je rychlejsi vyhledavani. 32.000 redku je integer 2 byty! "topanky" je 7 bytu. Pro srovnani, zamek na kolo ma 3 kolecka. Projit vsechny kombinace zabere asi 5-10 min. Je to 999 moznosti (pripadne + mezipolohy). Kdyby tam bylo jedno kolecko, tak to mas za chvilku, ne?
Druha moznost je, vest si specialni tabulku pro kategorie a ukladat si tam posledni vlozene cislo a pri insertu ho navysit a ulozit k clanku. Takze stejne musis k clanku pridat sloupec :)
topany 5
lyze 0
kluce 2
Treti moznost je, zjistit si SELECTem vsechny polozky ve stejne kategorii a pridat tu, ktera chybi. Treba mas topanky-1,2,4,5 , tak doplnis trojku. Nebo si zjistis, ktere jsou posledni. Aby byl dotaz jednodussi, tak stejne musis pridat sloupec cislo. Toto reseni mi prijde proti pomocne tabulce jako databazove slozitejsi.
Samozrejme by to slo i bez sloupce, spravnym reg. vyrazem, ale ty jsou obvykle pomale pri 1000 polozkach a vic.
Kdyz to shrnes, tak kazde z tech 3 reseni zahrnuje tak, ci tak, pridat sloupec.