Autor Zpráva
Zool
Profil *
Ahoj, řeším takový problém. Mějme tabulku kde je primární klíč id a třeba sloupec název.

Mám v něm 5 záznamů
1 Pavel
2 Petr
3 Josef
4 Karel
5 Lukáš

No a teď když smažu záznam třeba 3. A pak vložím nový záznam, jak udělám aby se mi vytvořil záznam s indexem 3, bo autoinkrement, který mám na promárním klíči mi vytvoří 6. Ale pozor nechci si vést tabulku smazaných ID díky
juriad
Profil
to jistě nechceš: Některé časteji řešené dotazy pro MySQL - FAQ » Recyklování primárních klíčů smazaných záznamů
Str4wberry
Profil
Viz Některé časteji řešené dotazy pro MySQL - FAQ » Recyklování primárních klíčů smazaných záznamů
Zool
Profil *
No tak to mi moc nepomohlo. Tam není řešení. Řeším problém, mám dva systémy jeden webová aplikace a jeden program v PC Program v PC aktualizuje na webu kategorie a webová aplikace slouží pro vložení nějakých článků. proto chci pro webovou aplikaci rezervovat jen sto prvních ID a ty ostatní budou pro kategorii. Těch článků tam třeba bude jen deset a pak se budou obměňovat. A nějspíš je uživatel bude mazat, tak by mě zajímalo jak to udělat, a by se našlo vždy to pravé ID, jako mohl bych to programem zjistit ale já myslel, že to třeba nějak zajistí samá databáze třeba něco jako použít
INSERT INTO `table`(`string_value`, `string_count`, `domain_id`)
    VALUES('STRING', 1, 1)
ON DUPLICATE KEY
    UPDATE table_id = LAST_INSERT_ID(table_id), 
           string_count = string_count + 1;



Ale problém je v tom, že když zajistím to aby se tam vždy vkládal pod ID 1 a pak se bude k tomu pořád přičítat jednička tak to funguje jen jednou, a pak už nic


Tak už jsem to vyřešil jinak Program pro PC bude mít specilální sloupec kde si bude vkládat svá ID, a pomocí nich bude pracovat. No a databáze si bude pořád navyšovat svůj PRIMÁRNÍ klíč podle potřeby.
Str4wberry
Profil
rezervovat jen sto prvních ID a ty ostatní budou pro kategorii
Těch článků tam třeba bude jen deset

Člověče, to na první pohled zavání hodně špatným návrhem databáze.
Zool
Profil *
Nemyslím si, ono to jde vše vkládat i přes web, ale tam se to o sebe postará.. ale problém je v tom, že ta aplikace PC posílá i ID kategorie, takže s tím nic neudělám, ale jak říkám, dal jsem tam další sloupec s ID pro aktualizace přes webovou službu a jedeto bez problému....
Str4wberry
Profil
Situace, kdy záznamy v jedné tabulce s ID do 100 jsou články a výše už to jsou kategorie, je většinou nešťastný návrh.

Lepší řešení by zřejmě bylo mít dvě propojené tabulky (články, kategorie). Nebo jednu (v případě, že se typ záznamů neliší), kde se kategorie a článek odliší pomocí zvláštního sloupce – něco jako „ID kategorie“. Podle toho lze potom snadno rozeznat oba typy i určit, kam článek patří.
Zool
Profil *
Ano máte pravdu... ono ta kategorie a článek se nijak nelyší. Jak jsem to vyřešil je uvedeno výše...
Str4wberry
Profil
Hodně štěstí. Přeji vám, ať se zde po čase nebudete muset ptát, co dělat, když už těch 100 ID nestačí. :–)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: