Hi,
Ich möchte bestimmte Datensätze einer Tabelle bei Bedarf in eine andere Tabelle "verschieben".
Meine Idee war jetzt die betroffenen Datensätze aus Tabelle 1 mit mysql_fetch_assoc() in einem Array zu speichern, anschließend per Schleife und mit den Arraywerten als Kriterium die Datensätze löschen und zum Schluss per Schleife Teile der Werte des Arrays wieder in der Tabelle 2 speichern.
Das erscheint mir aber recht kompliziert.
Ist das der richtige Weg oder gibt es eine bessere Methode?
Nein, der "Umweg" ueber PHP ist sicherlich keine gute Idee.
Mach's direkt auf der Datenbank - INSERT ... SELECT ist was du suchst ...
Im Titel steht nicht umsonst "verschieben".
... und dann feuerst du noch ein DELETE auf die urspruengliche Tabelle hinterher, mit gleicher WHERE-Klausel.
Gibt es eine Funktion die Inhalte einzelner Spalten bestimmter Datensätze in eine andere Tabelle zu verschieben und den kompletten originalen Datensatz dabei gleichzeitig zu löschen?
Nein, "gleichzeitig" ist mir nichts bekannt, du wirst wohl obigen Weg gehen muessen.
Natuerlich sollte das ganze in eine Transaktion gekapselt werden, damit man nicht erst mal X Datensaetze in die andere Tabelle einfuegt, und dann anschliessend mehr als X Datensaetze loescht, wenn zwischenzeitlich welche hinzu gekommen sind ...
MfG ChrisB
"The Internet: Technological marvel of marvels - but if you don't know *what* you're lookin' for on the Internet, it is nothing but a time-sucking vortex from hell."