MyBB.de Forum

Normale Version: Duplicate entry '' for key 'mybb_users.username beim merge
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallöchen zusammen,

nach der Anleitung von Nadja-re habe ich mich an einen merge von wbb5.5 auf das mybb gewagt. Da das MErgesystem angelaufen ist habe ich wohl grundsätzlich nicht alles falsch gemacht.
Offenbatr habe ich wohl aber etwas vergessen bei den Änderungen denn bei den Usern kommt folgende Fehlermeldung:

MyBB has experienced an internal SQL error and cannot continue.
SQL Error:
1062 - Duplicate entry '' for key 'mybb_users.username'

Sowohl in der Quelltabelle, als auch in der Zieltabelle gibt es keinen doppelten Eintrag.

Was mir auffällt dass beim mergeeintrag ins mybb der User zwar angelegt wird, aber ohne Username.

Kann mir vielleicht jemand ein bisschen auf die Sprünge helfen woran es hapern könnte?

Nachtrag: Mybb Version ist 1.8.23 und der merger ist Version 1.8.23
Hallo Wiebke,

es freut mich, dass der Vorgang grundsätzlich auch bei Dir funktioniert. Bei der Installation des MyBB musst Du den ersten User anlegen, bevor Du mergen kannst. Kann es sein, dass Du hier einen Namen verwendet hast, der in Deinem alten Forum schon vorhanden war? Administrator oder irgendwas in der Form?

Viele Grüße

Nadja
Ja, das stimmt, ich hatte en Mergevorgang abgebrochen und aufgeräumt - meinen Benutzernamen geändert, in der Datenbank geschaut ob da noch "reste" sind, aber bei nachfolgenden Usern ist das auch. Und wenn da der nächste User angelegt wird, dann hat der keinen "Namen"... Das ist dann einfach ein leeres Feld. Aber es geht dann dennoch nicht weiter. (man könnte es ja sonst imemr aktualisieren und so weiterlaufen lassen und die Benutzernamen später manuell eintragen - wäre ja nicht das drama
Also die komplette Fehlermeldung ist diese hier:

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1062 - Duplicate entry '' for key 'mybb_users.username'
Query:
INSERT INTO mybb_users (`usergroup`,`additionalgroups`,`displaygroup`,`import_usergroup`,`import_additionalgroups`,`import_displaygroup`,`import_uid`,`username`,`password`,`salt`,`loginkey`,`email`,`regdate`,`lastactive`,`lastvisit`,`website`,`showsigs`,`signature`,`showavatars`,`timezone`,`avatardimensions`,`avatartype`,`avatar`,`lastpost`,`icq`,`skype`,`google`,`hideemail`,`allownotices`,`regip`,`lastip`,`language`,`passwordconvert`,`passwordconverttype`,`postnum`,`invisible`,`birthday`,`birthdayprivacy`,`subscriptionmethod`,`receivepms`,`receivefrombuddy`,`pmnotice`,`pmnotify`,`showquickreply`,`ppp`,`tpp`,`daysprune`,`timeformat`,`dst`,`buddylist`,`ignorelist`,`style`,`away`,`awaydate`,`returndate`,`referrer`,`referrals`,`reputation`,`timeonline`,`showcodebuttons`,`totalpms`,`unreadpms`,`pmfolders`,`notepad`,`threadmode`,`showredirect`,`dateformat`,`dstcorrection`,`warningpoints`,`moderateposts`,`moderationtime`,`suspendposting`,`suspensiontime`,`suspendsignature`,`suspendsigtime`,`coppauser`,`classicpostbit`,`loginattempts`,`usernotes`,`showimages`,`showvideos`,`usertitle`) VALUES (0,'',0,0,'3,14,31',0,0,'','','','xxx','xxxf@xxx.de',0,0,0,'',1,'',1,'1','','','',0,'','','',1,1,X'',X'','','Bcrypt:xxxx','wbb4',0,0,'','all',2,1,0,1,1,1,0,0,0,'',0,'','',0,0,0,'',0,0,0,0,1,0,0,'0**$%%$1**$%%$2**$%%$3**$%%$4**','','',1,'',1,0,0,0,0,0,0,0,0,0,0,'',1,1,'')


Wenn ich jetzt richtig sehe sind die felder nach "inser to" weniger als bei "Values" - ich bin kein experte, aber die müssten doch gleich sein, anzahlmäßig - richtig?
So, ich habe jetzt herausgefunden wieso es nicht durchläuft. Zumindest ist das ein grund, ob es mit beheben von eben solchem dann durchläuft weiß ich ja nicht. Ich habe ja geschrieben dass im mybb keine Benutzernamen angelegt werden. Die Fehlermeldung kommt natürlich imemr wieder, weil eben ALLE gar nicht heissen Smile Also alle den selben Benutzernamen haben. Wenn ich den angelegten "Noname" nutzer umbenenne und den Merger wieder weiterlaufen lasse wird der nächste angelegt - ebenfalls mit keinem Namen, den muss ich wieder manuell eingeben und dann geht es weiter mit dem nächsten. Wenn sonst alles übernommen wird solles mir Recht sein - nur mühseelig bei 80 Mitgliedern Big Grin
Hallo Wiebke,

Du hast zum einen zwei Werte mehr als Spalten und zum anderen sieht es für mich so aus, als wäre die Tabellenstruktur noch nicht korrekt.

Wenn ich Deine Werte durchgehe, dann wäre der Wert in der Spalte Username "0". Das scheint mir nicht korrekt zu sein. Vielleicht magst Du mir den Aufbau Deiner Tabelle mal zusenden, dann kann ich auch einen Blick darauf werfen.

Vielleicht sehe ich daran etwas. Wobei ich auf nur interessierte Laie bin und keine Programmierkenntnisse habe. Aber zumindest habe ich mein eigenes Forum mehrfach erfolgreich gemerged.

Liebe Grüße

Nadja
Hallöchen,

ich hab es nochmal ausgepackt und nochmal genau geforscht. Der Fehler war der Zeichensatz.
Ich habe die mybb Tabellen auf utf8mb4_unicode_ci umgestellt, dann liefen die User durch und es ging weiter bis zu den Forenberechtigungen, da hänge ich grad fest. Ich freu mich wie irre dass es nun doch weitergelaufen ist und hoffe dass der Rest nun auch noch klappt. Fehlermeldung momentan ist:

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1366 - Incorrect integer value: '' for column 'fid' at row 1
Query:
INSERT INTO mybb_forumpermissions (`gid`,`canview`,`canonlyviewownthreads`,`canviewthreads`,`candlattachments`,`canpostthreads`,`canpostreplys`,`canpostattachments`,`canratethreads`,`caneditposts`,`candeleteposts`,`candeletethreads`,`caneditattachments`,`canpostpolls`,`canvotepolls`,`cansearch`,`fid`) VALUES (0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,'')

Wenn ich es richtig gesehen habe, hab ich oben 17 Felder und unten nur 16.
Ich bin da kein Experte, ich denke unten müssten auch 16 Felder sein - kann mir da bitte wer weiterhelfen wie ich das anpassen kann?
Moin, das sieht irgendwie nach adminberechtigungen aus, oder? Weil der User doch recht viele Dinge kann/darf??
Nein, ich denke nicht - viele VALUES sind ja auf 0 und nicht auf 1.
(05.03.2024, 09:53)Maggan22 schrieb: [ -> ]Wenn ich es richtig gesehen habe, hab ich oben 17 Felder und unten nur 16.
Wenn ich das richtig sehe, hast du korrekt 17 Values. Wink 
Allerdings wird in die Spalte "fid" ein leerer String geschrieben, obwohl die Spalte einen Integer erwartet.
Das nur auf die Schnelle. Wink 
Wann tritt denn der Fehler auf? Beim Mergen?
Ja genau - wenn ich die forumpermissions erreiche.
Ich kenne mich mit dem Mergesystem nicht wirklich aus, aber...
Du wirst in deiner alten Datenbanktabelle in der Spalte "fid" oder "forum_id" einen leeren String stehen haben.
Man könnte jetzt versuchen, diese Spalten mit "1" zu füllen, oder die kompletten Einträge zu löschen.
Dann müsste der Query eigentlich durchlaufen.
In MyBB sollte das dann kein Problem sein, wenn du die Berechtigungen hinterher einfach neu vergibst.

Das ist jetzt aber nur ne leise Vermutung von mir. Wink
Seiten: 1 2 3