Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- WBB2 (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=3)
-- Fragen zum WBB2 (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=4)
--- Ids zurücksetzen (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=2701)


Geschrieben von Blade am 10.12.2014 um 21:29:

  Ids zurücksetzen

Hallo,

habe eine Frage, und zwar wie kann ich den Zähler der Post-, Avatar- und Userids zurücksetzen? Ich möchte dass der wieder von 1 anfängt mit zählen.

MfG



Geschrieben von Listiger_Falke am 10.12.2014 um 22:27:

 

Hm..... hat Dein Forum denn User, Beiträge und Avatare, oder ist dort alles leer?



Geschrieben von Blade am 11.12.2014 um 15:33:

 

ist alles leer.



Geschrieben von haumi am 11.12.2014 um 22:35:

 

Ich bin zur Zeit in Urlaub werde aber morgen früh dazu was schreiben.

Posts avas sind einfach userids etwas komplizierter, aber machbar.

LG
haumi



Geschrieben von haumi am 12.12.2014 um 08:36:

 

Zu 1 Userposts zurücksetzen:

UPDATE bb1_users SET userposts = 0;

Zu 1 Avatarid zurücksetzen:

UPDATE bb1_users SET avatarid = 0;

Wenn die persänliche Avatarzuweisung auch gelöscht werden soll:

UPDATE bb1_avatars SET userid= 0;

Die Userid von 1 beginnen neu zu machen bedarf es eines kleinen php-Programms.

Mal schauen ob ich hier die Zeit finde.

LG
hannes



Geschrieben von Blade am 12.12.2014 um 15:45:

 

Hat leider nichts geklappt. Vielleicht habe ich mich auch falsch ausgedrückt.

thread.php?threadid=56179
avatar-431.jpeg
profile.php?userid=545

Das rot markierte soll wenn ich ein neuen Post, neues Avatar oder ein neuen User registrtiere wieder mit 1 anfangen.



Geschrieben von Listiger_Falke am 12.12.2014 um 17:05:

 

Das wurde auch schon so verstanden st12

Hast Du denn in Deiner SQL-Datenbank die beiden Befehle von haumi ausgeführt?
Hast Du bb1_ als Datenbank? Ansonsten diesen Teil an die SQL anpassen st1



Geschrieben von Blade am 13.12.2014 um 00:04:

 

Ja ich habe bb1 und habe alle 3 Befehle ausgeführt.

UPDATE bb1_users SET userposts = 0;

Hier wurde bei den usern der postzähler auf 0 gesetzt.



Geschrieben von haumi am 13.12.2014 um 07:47:

 

Wenn die Tabellen bb1_threads , bb1_avatars und bb1_posts geleert werden sollen dann mit folgenden Befehlen:

TRUNCATE TABLE bb1_threads

TRUNCATE TABLE bb1_posts

TRUNCATE TABLE bb1_avatars

Zusätzlich muss die Tabelle bb1_boards diese Einstellung übernehmen.

UPDATE bb1_boards SET threadcount =0, postcount=0, lastthreadid =0, lastposttime=0, lastposterid=0 , lastposter=0

VORSICHT!
Alle Daten werden unwiederruflich gelöscht.
Es ist emfehlenswert vorher eine Datenbanksicherung zu machen.
Auch sollte der Ordner images/avatars geleert werden weil die Zuordnung nicht mehr gegeben ist.

Die userid zu ändern ist sehr schwierig und ich denke fast hier auch nicht erwünscht.
Wenn doch dann muss ein kleines php-Programm geschrieben werden.
Zu Bedenken ist hierbei, das die Spalte userid ein Prlmärschlüsselfeld ist und sich somit nicht ändern läßt.

LG
haumi



Geschrieben von Blade am 13.12.2014 um 15:13:

 

Danke das hat alles schonmal ohne Probleme funktioniert. Nach lastposterid=0 hast du ein Leerzeichen zuviel gesetzt oder ist das egal.

Die Userid ändern ist sehr leicht. Man ändert in der Tabelle bb1_users die id des Users und in bb1_userfields ebenfalls. Nur wenn ich jetz ein neuen User registriere zählt das Forum wieder mit der hohen Nummer weiter.



Geschrieben von haumi am 14.12.2014 um 07:32:

 

Zitat:
Die Userid ändern ist sehr leicht. Man ändert in der Tabelle bb1_users die id des Users und in bb1_userfields ebenfalls. Nur wenn ich jetz ein neuen User registriere zählt das Forum wieder mit der hohen Nummer weiter.


Bei wenigen Einträgen kann man das so machen, aber denn nicht nur die bb1_userfields sondern auch die bb1_user2groups abändern.

Um die Anzeige und somit die Zuweisung einer neuen ID zu aktualisieren, nimmt man die höchste Userid und trägst sie in die Tabelle bb1_stats ins Feld lastuserid ein.

LG
haumi



Geschrieben von Blade am 14.12.2014 um 15:18:

 

Das funktioniert nicht. Die Tabelle ist dafür zuständig den User "Unser neuestes Mitglied heißt:" anzuzeigen.

Habe jetz noch eine sqlerror wenn ich Beiträge oder Themen lösche.

Database error in WoltLab Burning Board (2.3.6 pl2): Invalid SQL: UPDATE bb1_boards SET threadcount=threadcount-1, postcount=postcount-'1' WHERE boardid IN (2,0,1)
mysql error: BIGINT UNSIGNED value is out of range in '(`mysqluser1`.`bb1_boards`.`threadcount` - 1)'

Das Thema oder der Beiträg ist dann zwar weg aber auf der Startseite sieht man dann noch unter Letzter Beitrag z.b. "Heute, 15:15 von User"



Geschrieben von haumi am 15.12.2014 um 08:41:

 

Um das Board sauber zu machen MUSS man ALLE Befehle ausführen.
Dann kann diese Fehlermeldung nicht kommen.

Zitat:
RUNCATE TABLE bb1_threads

TRUNCATE TABLE bb1_posts

TRUNCATE TABLE bb1_avatars

Zusätzlich muss die Tabelle bb1_boards diese Einstellung übernehmen.

UPDATE bb1_boards SET threadcount =0, postcount=0, lastthreadid =0, lastposttime=0, lastposterid=0 , lastposter=0



Du kannst ja mal dem Hinweis von Bam nachgehen.
Ansonsten bin ich Freitag wieder zu Hause,
schaa aber morgens immer mal hier rein.

LG
haumi



Geschrieben von Blade am 16.12.2014 um 00:12:

 

Wer ist bam?st8

Hab den Fehler jetzt gelöst in dem ich die Anzeige im ACP überall aktualisiert habe. Jetzt kommt der Fehler nicht mehr.

Wenn wir das noch mit dem Userids hinbekommen dann wäres perfekt:).



Geschrieben von haumi am 18.12.2014 um 18:56:

 

Im Anhang mal die komplette php-Datei!
Was macht die php-Datei?

Folgende Tabellen werden geleert.
bb1_threads
bb1_threadvisit
bb1_posts
bb1_postcache
bb1_avatars
bb1_attachments
bb1_privatemessage
bb1_privatemessagereceipts
bb1_wordlist
bb1_wordmatch



Die Tabelle bb1_boards wird angepasst

In der Tabelle bb1_users werden die userids wieder von 1 aufsteigend vergeben (1,2,3,4 etc.)

Die Tabellen bb1_user2groups , bb1_userfields und bb1_stats werden angepasst.

Die Ordner wbb2/attachments und wbb2/images/avatars sollten geleert werden.

Eine Aktualisierung im ACP sollte danach auch durchgeführt werden.


Die Datenbank vorher sichern.
Es wird keine Garantie übernommen!

NACHTRAG:
Da auch noch PNs da sein können sollten auch diese geleert werden
Ebenfalls können die Tabellen wordlist und wordmatch geleert werden

Wer schon die userakt.php ausgeführt hat kann das mit folgenden Befehlen im mysqldumper machen:

TRUNCATE TABLE bb1_privatemessage
TRUNCATE TABLE bb1_privatemessagereceipts
TRUNCATE TABLE bb1_wordlist
TRUNCATE TABLE bb1_wordmatch

die Datei useridakt.php hier im Beitrag wurde dementsprechend schon geändert!

LG
haumi



Geschrieben von Blade am 21.12.2014 um 02:37:

 

leider bekomme ich einen sqlfehler. liegt mit sicherheit daran dass da einige hacks eingebaut sind, vermutlich an dem willkommensbot.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
Blade
Begrüßungsbot
SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.6 pl2): Invalid SQL: UPDATE bb1_users SET userid = 2 where username = 'Begrüßungsbot'
mysql error: Duplicate entry '2' for key 'PRIMARY'
mysql error number: 1062
mysql version: 5.5.40-cll
php version: 5.2.17
Date: 21.12.2014 @ 03:33
Script: /useridakt.php
Referer:



Geschrieben von haumi am 21.12.2014 um 11:45:

 

Eigentlich darf das keine Auswirkungen haben.
Die primary-Keys werden ja mit dem Befehl
code:
1:
$ab = mysql_query("ALTER TABLE bb1_users DISABLE KEYS");

außer Kraft gesetzt.
Im Testboard funktioniert es einwandfrei.
Ich muss noch mal darüber nachdenken.

LG
haumi



Geschrieben von haumi am 21.12.2014 um 12:22:

 

Ich habe mal eine kleine Änderung vorgenommen!
Es wird erst eine zweite Spalte "userid1" angelegt und diese wird mit den neuen Daten gefüllt.
Dann wird die Spalte userid gelöscht, die Spalte userid1 wird zu userid gesetzt und bekommt den Primärschlüssel.
Ist in der php-Datei im Anhang so gemacht.

LG
hannes



Geschrieben von Blade am 27.12.2014 um 17:19:

 

bekomme immernoch den selben sqlfehler.

edit:

hab nun gesehen woran es lag. wie ich mir bereits dachte an ein hack. scheinbar wurden 2 user so eingestellt das sie nicht zu löschen sind. habe die entsprechende phpdatei entfernt und dann nochmal deine datei ausgeführt und lief dann ohne sqlerror. allerdings sind nun die 2 unlöschbaren user weg was aber nicht das problem ist. problem ist aber wenn ich jetz ein neuen user im acp erstellen will kommt ein sqlerror.

code:
1:
2:
3:
4:
5:
6:
SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.6 pl2): Invalid SQL: INSERT INTO bb1_users (username,password,sha1_password,email,groupcombinationid,rankid,title,regdate,lastvisit,lastactivity,usertext,signature,icq,aim,yim,msn,homepage,birthday,gender,showemail,admincanemail,usercanemail,invisible,usecookies,styleid,langid,activation,daysprune,timezoneoffset,startweek,dateformat,timeformat,emailnotify,notificationperpm,receivepm,emailonpm,pmpopup,emailonapplication,umaxposts,showsignatures,showavatars,showimages,avatarid,threadview,rankgroupid,useronlinegroupid,allowsigsmilies,allowsightml,allowsigbbcode,allowsigimages,usewysiwyg,skype) VALUES ('123','e50d9b8f32678fda664d7b9ef3f6702b','a7c85909b26f41820795b0228ff4a1e33384044f','test@test.de','78','','','1419698026','1419698026','1419698026','','','0','','','','','0000-00-00','0','0','1','1','0','1','11','0','1','0','1','1','d.m.Y','H:i','0','0','1','0','0','0','0','1','1','1','0', '0', '24', '24','1','0','1','1','0','')
mysql error: Field 'userid' doesn't have a default value
mysql error number: 1364
mysql version: 5.2.14-MariaDB 



Geschrieben von haumi am 27.12.2014 um 18:36:

 

Es bedeutet ungefähr: Das Feld "userid" hat keinen eingetragenen Standardwert.

da muss ich den Befehl noch nacharbeiten

Versuche vorab mal folgndes:

Klicke im Dumper auf SQLBrowser. Anschließend klickst Du auf das erste Icon vor der Tabelle "bb1_users" und kommst so in die Anzeige der Struktur der Tabelle.
Nun klickst Du auf das erste Edit-Icon vor dem Feld "userid" und kannst das Feld bearbeiten. Wähle bei "NULL" in der Selectbox den Wert "NULL" aus und klicke anschließend auf "Feld ändern".
Das wars.

Jetzt hat das Feld einen definierten Standardwert und die Meldung sollte ausbleiben.

ich versuche es aber ins Script einzubinden.

LG
haumi


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH