Autor Zpráva
Suk12
Profil
Zdravím,
měl bych jeden triviální dotaz. Mám v databázi třeba 10 uživatelů, kteří mají ID 1-10 (ID je nastaveno na autoincrement). Když celou databázi vyprázdním (smažu všechny uživatele) a přidám nového (přes nějaký php formulář), tak má ID 11. Jak docílím toho, aby měl ID jedna, další registrovaný dva atd.

Snad jsem to napsal k pochopení :)
Děkuji za info
djlj
Profil
vyprázdním (smažu všechny uživatele)
Tak ji vyprázdníte, nebo to smažete ručně? Použijte odkaz "Vyprázdnit" v PMA.
DJ Miky
Profil
nebo v PMA na záložce Úpravy je nastavení hodnoty autoincrementu
Suk12
Profil
djlj
Použil jsem odkaz vyprázdnit, ale to právě nefunguje.

DJ Miky
To je přesně ono! Díky, pomohlo ;-)
Hugo
Profil
Musíš k vyprázdnění tabulky použít příkaz TRUNCATE, ten nastaví auto_increment na 1. Pokud použiješ delete, tak se pouze smažou všechny řádky.
Suk12
Profil
mám phpMyAdmin 2.8.1 a pokud použiji "Vyprázdnit", což je "TRUNCATE", tak ten auto_increment na jedničku nenastaví
Hugo
Profil
Podle manuálu by se měla hodnota autoincrementu po truncate resetovat.

http://dev.mysql.com/doc/refman/4.1/en/truncate.html

Otázkou je, jestli pma skutečně truncate použije.
Hugo
Profil
Já mám PMA 2.6.4 a tam je to bez problémů.
Suk12
Profil
Po stisknutí "Vyprázdnit" ještě vyskočí kontrolní hláška: Opravdu si přejete vykonat příkaz TRUNCATE TABLE 'nazev_tabulky'? Chyba teda bude někde jinde, jestli jde o chybu :)
Hugo
Profil
Suk12

Těžko říct, ale testoval jsem to na MyISAM i INNODB a jede to bez problémů. Viděl bych to na chybu u PMA (chyba je to určitě).
Suk12
Profil
Hlavne ze se da to nastavit v tech upravach. Tenhle prikaz stejne nepouzivam kazdy den, takze mi to zase tolik zily netrha :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0