Seite 1 von 1
SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 08.05.2010 11:34
von 7emper5i
Hallo,
ich habe vor einigen Tagen die Resynchronisierung der User-Beiträge durchgeführt und nun fehlen einigen Usern bis zu 3000! Beiträgen, die sie in den letzten 5 Jahren aber tatsächlich geschrieben haben.
Ein einfaches Rückspielen der SQL-Tabelle phpBB_user funktioniert nicht, da dann auch die Daten der letzten Einträge, etc "falsch" übernommen werden.
Gibt es einen Befehl, NUR die User_posts zu sichern und diese dann in die andere DB per phpMyAdmin zu schubsen?
Gruß
Philipp
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 08.05.2010 12:29
von schnagga
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 08.05.2010 15:38
von 7emper5i
Danke, habe ich schon gemacht. Problem ist aber, dass der Nr de gesamte Tabelle übernimmt und ich aus der Tabelle nur die posts übernommen haben muss.
Das ist das Problem
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 08.05.2010 15:41
von Mahony
Hallo
Eventuell hilft dir das hier weiter
Beiträge Wiederherstellen mit Datenbank-Backup
P.S. Achtung: Bevor man anfängt, sollte man unbedingt ein Datenbank-Backup der aktuellen Datenbank mit dem Mysqldumper anlegen.
Grüße: Mahony
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 08.05.2010 17:33
von aurora876
7emper5i hat geschrieben:Danke, habe ich schon gemacht. Problem ist aber, dass der Nr de gesamte Tabelle übernimmt und ich aus der Tabelle nur die posts übernommen haben muss.
Das ist das Problem
nö, wenn du auswählst, das du nur bestimmte tabellen sichern willst, macht der dumper das auch.
mußt halt das häckchen setzen, dann klappts auch mit der tabelle.
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 09.05.2010 01:49
von 7emper5i
Da hast du Recht, aber meine Frage - oder Feststellung spricht dem nicht entgegen.
MySQLDumper kann eine Tabelle aus der gesamten Datenbank sichern / wiederherstellen.
Von dieser einen Tabelle, benötige ich aber für ALLE UserID's nur jeweils EINEN Wert.
Und zwar von phpBB_users
Code: Alles auswählen
vollständige Textfelder
user_id
user_type
group_id
user_permissions
user_perm_from
user_ip
user_regdate
username
username_clean
user_password
user_passchg
user_pass_convert
user_email
user_email_hash
user_birthday
user_lastvisit
user_lastmark
user_lastpost_time
user_lastpage
user_last_confirm_key
user_last_search
user_warnings
user_last_warning
user_login_attempts
user_inactive_reason
user_inactive_time
user_posts
user_lang
user_timezone
user_dst user_dateformat user_style user_rank user_colour user_new_privmsg user_unread_privmsg user_last_privmsg user_message_rules user_full_folder user_emailtime user_topic_show_days user_topic_sortby_type user_topic_sortby_dir user_post_show_days user_post_sortby_type user_post_sortby_dir user_notify user_notify_pm user_notify_type user_allow_pm user_allow_viewonline user_allow_viewemail user_allow_massemail user_options user_avatar user_avatar_type user_avatar_width user_avatar_height user_sig user_sig_bbcode_uid user_sig_bbcode_bitfield user_from user_icq user_aim user_yim user_msnm user_jabber user_website user_occ user_interests user_actkey user_newpasswd user_form_salt user_new user_reminded user_reminded_time user_articles
nur die
user_posts . Und da suche ich eine Möglichkeit, aus der Sicherung der user_posts alle unrelevanten Daten per SQL-Befehl zu droppen und dann nur die "neuen" Werte zu übernehmen.
Ich versuche das mal, was Mahony vorgeschlagen hat, aber wie definiere ich alle Felder, die gedroppt werden können?
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 09.05.2010 10:47
von aurora876
haben sich die werte in den spalten derat verändert?
ich weiß ja nicht, wieviele user du hast, aber mit
ALTER TABLE `phpbb_posts` DROP wasauchimmer-spalte usw. usw.
könnt es gehen. bin nicht so der SQL-profi, daher sollte da lieber noch einer mit mehr knowhow drübergucken.
so oder so: du solltest
unbedingt vorher ein backup machen

Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 09.05.2010 11:00
von 7emper5i
ja, Backup mach ich eh, danke für den mehrfachen Hinweis.. und ich teste natürlich vorher auch.
Ja, die Daten haben sich immens geändert, aufgrund der Resynchronisation. Warum auch immer?!
Es fehlen Usern bis zu 3000 Beiträgen.
Ich habe ein Backup in dem noch annähernd korrekte Daten drin sind - mit jedem Tag variieren die Daten natürlich auch, aber da wird es dann auch nur wichtig, den oberen 15 gerecht zu werden.
Ich brauche also eine Möglichkeit, mithilfe von MySQlDumper alleine die Werte user_posts auszulesen und in der anderen DB zu überschreiben.
Re: SQL-Befehl um nur die user_posts zu kopieren
Verfasst: 10.05.2010 10:02
von 7emper5i
Danke für deinen Ratschlag Mahony.
Mit einem Script hat es dann geklappt.