login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[mysql] auto_increment veld resetten

Offline Koen1 - 01/06/2005 13:45
Avatar van Koen1Nieuw lid Ik heb een scriptje wat het aantal bezoekers wat op dat moment aanwezig is telt. Hierbij maak ik gebruik van een mysql-tabelletje waar iedere bezoeker zn eigen id mee krijgt.

Maar dat id veld is een auto_increment veld en die loopt binnen een maand in de duizenden, waardoor ik of het id veld zal moeten vergroten of iets moet vinden dat de tabel weer vanaf 1 begint.

Mijn vraag is dus: hoe 'reset' ik een auto_increment veld zodat deze weer bij 1 begint (zonder de tabel zelf te verwijderen en opnieuw te installeren). Is dat uberhaupt wel mogelijk? Indien alle gegevens die in deze tabel zitten hierbij verloren gaan, is dat geen punt.

Alvast bedankt!

4 antwoorden

Gesponsorde links
Offline Thomas - 01/06/2005 14:09
Avatar van Thomas Moderator Je zult dan je tabel leeg moeten gooien (TRUNCATE `tabelnaam`), en dan is je auto_increment waarde automatisch gereset. Je kunt de id's niet hergebruiken, tenzij je UPDATE-statements gebruikt, in plaats van INSERT-statements...
Offline Legolas - 01/06/2005 16:23
Avatar van Legolas Onbekend Aantal bezoekers aanwezig kan ook met MaxIdle time.
Kijk hiervoor bij scripts, en legen kan met TRUNCATE of DELETE
Offline Frederic - 01/06/2005 16:39
Avatar van Frederic PHP ver gevorderde je kan in phpmyadmin bij handelingen dit nummer terug op 1 zetten!
Offline Scott - 01/06/2005 16:50
Avatar van Scott Gouden medaille

PHP ver gevorderde
Bedoel je soms dit ?

  1. <?php
  2. // Hier even eigen gegevens invullen
  3.  
  4. $host = 'localhost';
  5. $username = '';
  6. $password = '';
  7. $db_naam = '';
  8.  
  9. mysql_connect($host, $username, $password);
  10. mysql_select_db($db_naam);
  11.  
  12. // Verander de tabelenaam en het veldnaam waar de auto_increment op staat eventjes
  13.  
  14. $tabel = 'editids';
  15. $veld = 'id';
  16.  
  17. // Hier hoef je niks meer aan te passen
  18.  
  19. $rijen = mysql_query("SELECT ".$veld." FROM ".$tabel) or die(mysql_error());
  20.  
  21. while ($rij = mysql_fetch_object($rijen)) {
  22.  
  23. $array[] = $rij->{$veld};
  24. }
  25.  
  26. for ($i = 0; $i < count($array); $i++) {
  27.  
  28. mysql_query("UPDATE ".$tabel." SET ".$veld." = ".($i + 1)." WHERE ".$veld." = ".$array[$i]);
  29. }
  30.  
  31. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.178s