Einzelnen Beitrag anzeigen
  #6  
Alt 05.10.2010, 15:56:57
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: DB verkleinern: jeden 2. Datensatz löschen

Zitat:
Zitat von lasser Beitrag anzeigen
Hm, andere Idee mit PHP und einer while-Schleife:

Code:
$result = @mysql_query("SELECT * FROM `tabelle1` WHERE created BETWEEN '$start' AND '$end'") or die(mysql_error());
$rest=0;
while($row = mysql_fetch_object($result))
{
   if($rest%2 == 0)
      {

      // Hier müsste der DELETE hin 
      // mysql_query("DELETE ...'");

      //Wie krieg ich den Datensatz in 'tabelle2' geschrieben? So:?
      // mysql_query("INSERT INTO `tabelle2` (col1, col2, ...) VALUES ( ....");
      }
   $rest++; 
}
Also im Prinzip ja, Du kannst mit Modulo so jeden 2. oder X. Datensatz finden.

a) Den DELETE nicht vergessen
b) Den INSERT Befehl mal im Handbuch nachschauen
c) Am Besten auf den @ vor den MySQL Befehlen verzichten, sonst bekommt Du keine Fehler mit.
d) Stichwort "Transaktion". Falls das Skript abbricht, kannst Du das so nicht beliebig wiederholen.

Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten