mehrere zeilen von tabelle 1 in tabelle 2 verschieben

muhkuh

Erfahrenes Mitglied
huhu ihrs, ich hab nen kleines problem. und zwar will ich gleich mehrere datensätze (zeilen) aus einer tabelle (ich nenn sie mal tabelle1) in eine zweite tabelle (tabelle2) verschieben. die tabellen sind eigentlich die gleichen, nur haben sie den unterschied, dass aus tabelle1 alle daten, die älter als 5h sind, gelöscht werden. und nur daten aus tabelle1, deren bearbeitungsvorgang innerhalb dieser 5 stunden fertig bearbeitet wurden, sollen in tabell2 verschoben werden.
gibts da ne einfachere möglichkeit, als das mit ner schleife zu machen, also jeden datensatz einzeln auslesen, verschieben und dann aus tabelle1 löschen.
wäre das immer nur eine zeile, wäre das ja einfach. bei mehreren zeilen auf einmal fällt mir nur die lösung mit der schleife ein, aber ich denk, dass das zu umständlich ist und auch einfacher geht :/
nur wie?
 
Das ist einfach nur eine INSERT INTO Anweisung.
Der gibst du als WHERE Klausel alles mit, was fertig bearbeitet ist und vor weniger als 5h erstellt wurde.
 
mann kann insert und select kombinieren, alles was von select als ergebnis kommt wird eingefügt

insert into tabelle2(feld1,feld2) select feld1,feld2 from tabelle1 where ..........

und auch beim löschen kann man mit where abfragen arbeiten

delete from tabelle1 where ......

sprich zwei zeilen - nix schleife :)
 
Mann melmager, statt zu wiederholen, was ich schreibe, könntest du lieber mal meine Anfrage zu den Serienbriefen aus Access beantworten.
;-)
 
@durin ich habe nix wiederholt sondern etwas ausführlicher beschrieben wie es geht :)
aus deiner 50% Antwort eine 100% Antwort gemacht :)

und zu deinem Accessproblem - es könnte ja auch sein das ich von dem MS Blödsinn null Plan habe *g*, da ich MS Office und deren Ableger nicht benutze
 
*** @durin & mel für die schnellen antworten. hab das jetzt ma so ausprobiert. es kommt aber jedesmal ein fehler :(

hier ma der code:
PHP:
// Verschieben der Daten von Datenbank Warenkorb in Datenbank Bestellungen
$query = "INSERT INTO bildershop_bestellungen VALUES (
						'',
						'kunden_Nr',
						'bild_id',
						'ware_menge')
					      SELECT
						'ware_id',
						'kunden_Nr',
						'bild_id',
						'ware_menge'
					      FROM bildershop_warenkorb
					      WHERE kunden_Nr = '$cKundenNr'";
	// Datenbank-Query
	$result = mysql_query($query,$conn);

der fehler:
PHP:
You have an error in your SQL syntax near 'SELECT 'ware_id', 'kunden_Nr', ' at line 6 1064

ich find da nur nxi :((
die spaltennamen der tabellen sind nicht überall gleich, was aber ja eigentlich egal ist, die reihenfolge bei beiden ist die gleiche. und die erste spalte bei bildershop_bestellungen is auto_increment, darum wird der au nicht belegt, habs au ohne auto_increment und mit übertragung probiert, ging aber au net :(
naja, vl findet ihr was, ich finde nix mehr:((((((
 
das mit den values musst du weglassen

$query = "INSERT INTO bildershop_bestellungen(name1,name2,name3,name4) SELECT ware_id, kunden_Nr,bild_id,ware_menge

FROM bildershop_warenkorb

WHERE kunden_Nr = '$cKundenNr'";
 
BIG *** mel!!!!! es ***** :DDDDDDD *Freuwiesau*

hier nochma der code, wies dann geklappt hat:

PHP:
// Verschieben der Daten von Datenbank Warenkorb in Datenbank Bestellungen
		$query = "INSERT INTO bildershop_bestellungen (
						        best_id,
	 			                kunden_Nr,
						        bild_id,
						        best_menge)
						       SELECT
						        ware_id,
						        kunden_Nr,
							      bild_id,
							      ware_menge
						       FROM bildershop_warenkorb
						       WHERE kunden_Nr = '$cKundenNr'";
	// Datenbank-Query
	$result = mysql_query($query,$conn);
 

Neue Beiträge

Zurück