Seite 2 von 2

Verfasst: 02.12.2004 22:33
von Pyramide
Mit diesem SQL Statement müsste das Wiederherstellen funktionieren (auch ungetestet):

Code: Alles auswählen

REPLACE INTO aktuelle_phpbb_posts_text SELECT * FROM backup_phpbb_posts_text WHERE poster_id = ?

Verfasst: 24.11.2006 08:51
von moosi-adm
Pyramide hat geschrieben:Mit diesem SQL Statement müsste das Wiederherstellen funktionieren (auch ungetestet):

Code: Alles auswählen

REPLACE INTO aktuelle_phpbb_posts_text SELECT * FROM backup_phpbb_posts_text WHERE poster_id = ?
möchten den post mal aufgreifen; abfrage geht so nicht, da hier kein poster_id existiert..............

ansatz wäre eventl., folgende abfragen zu verbinden (leider bin ich ein sql-noob :oops: , hat wer ne idee?

Code: Alles auswählen

SELECT post_subject, post_text
FROM  phpBB_posts_text ,  phpBB_posts
WHERE phpBB_posts_text.post_id = phpBB_posts.post_id AND phpBB_posts.poster_id =6;

REPLACE INTO aktuelle_phpbb_posts_text SELECT * FROM backup_phpbb_posts_text WHERE poster_id = ?
thx + lg frank

Verfasst: 26.11.2006 16:33
von moosi-adm
...sry für den doppelpost, aber hat keiner eine idee???? help me!!!!!! :oops:

hab schon stundelang geforscht und probiert, ich krieg die abfrage nicht zusammen -.-

lg frank

Verfasst: 26.11.2006 20:23
von gn#36
Ungetestet (ob das funktioniert weiß ich auch nicht, weil mehrere DB's abgefragt werden)

Code: Alles auswählen

REPLACE INTO aktuelle_phpbb_posts_text (SELECT t.* FROM backup_phpbb_posts_text t, phpbb_posts p WHERE p.poster_id = 6 AND p.post_id = t.post_id)
Ansonsten halt ein Skript bauen das die Dinger erst aus der DB holt und dann wieder einfügt:

Code: Alles auswählen

$sql = "SELECT t.* FROM backup_phpbb_posts_text t, phpbb_posts p WHERE p.poster_id = 6 AND p.post_id = t.post_id";
$result = $db->sql_query($sql);
while($row = $db->sql_fetchrow($result))
{
$sql = "REPLACE INTO phpbb_posts_text (---HIER FELDNAMEN EINTRAGEN---) VALUES (---HIER INHALT IN DER GLEICHEN REIHENFOLGE, ZB " . $row['text'] . ", " . $row['feld_xyz'] . "---)";
$db->sql_query($sql);
}
Müsstest du noch die Feldnamen mit Kommata getrennt und dann die Inhalte einfügen, dann müsste es das ganze ersetzen falls das mit SQL direkt nicht funktioniert (muss es eigentlich auch eine direkte Abfragemöglichkeit für geben). Bitte nicht an den "Live Daten" testen sondern in einem Backupsystem!

Verfasst: 27.11.2006 16:29
von moosi-adm
..vielen dank!!!!!!! sql-abfrage funtzt :D

supi!

lg frank