Autor | Zpráva | ||
---|---|---|---|
Zool Profil * |
#1 · Zasláno: 5. 8. 2012, 10:56:45
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 |
#2 · Zasláno: 5. 8. 2012, 11:01:12
|
||
Str4wberry Profil |
#3 · Zasláno: 5. 8. 2012, 11:01:12
|
||
Zool Profil * |
#4 · Zasláno: 5. 8. 2012, 11:10:12 · Upravil/a: Zool
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 |
#5 · Zasláno: 5. 8. 2012, 11:29:04
„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 * |
#6 · Zasláno: 5. 8. 2012, 15:10:45
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 |
#7 · Zasláno: 5. 8. 2012, 15:37:14
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 * |
#8 · Zasláno: 5. 8. 2012, 22:18:52
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 |
#9 · Zasláno: 5. 8. 2012, 22:30:32
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čí. :–)
|
||
Časová prodleva: 11 let
|
0