Seite 2 von 4

Verfasst: 20.02.2008 20:47
von Mahony
Hallo
Was meinst du bitte mit
ist eine "geleerte" 1:1 kopie?
Die Fehlermeldung

Code: Alles auswählen

SQL Error : 1062 Duplicate entry '-1' for key 1
besagt, dass etwas in die Datenbank eingetragen werden soll was bereits vorhanden ist.

Der Befehl

Code: Alles auswählen

INSERT INTO phpbb_user_group (group_id, user_id, user_pending) VALUES (5, -1, 0)
bedeutet: Schreibe in die Tabelle phpbb_user_group in die Spalte group_id die 5, in die Spalte user_id die -1, in die Spalte user_pending die 0.

Wenn ein Wert aber schon vorhanden ist, dann kann er nicht noch einmal eingetragen werden (da er ja schon vorhanden ist).

Normalerweise ist das aber dann kein Problem, da der gewünschte Eintrag ja vorhanden ist. Du müsstest jetzt nur nachschauen (in der Datenbank), ob die anderen Einträge nun gemacht wurden oder eben nicht gemacht wurden.




Grüße: Mahony

Verfasst: 17.07.2008 19:51
von eiterblase
sodelle, bin jetzt wieder dran an der sache - ohne aber weiter gekommen zu sein.
die tabelle existiert und es sind auch für alles user_ids entsprechende group_ids vorhanden.

... aber ...

ab user_id 7615 sind die werte nicht mehr syncron. will sagen: bis zu dieser id sind beide werte gleich, ab dieser id nicht mehr. so hat user_id 7615z.b. die group_id 4456 usw. ist das ein problem? lässt sich das beheben? der kram macht mich noch wahnsinnig...

und noch eine auffälligkeit: die group_ids enden bei 12621, die user_ids mit 12822. nach adam riese und eva zwerg "fehlen" da also welche.

danke für die hilfe

Verfasst: 17.07.2008 20:56
von Mahony
Hallo
Noch einmal die Frage. Was meinst du mit
ist eine "geleerte" 1:1 kopie?




Grüße: Mahony

Verfasst: 17.07.2008 21:58
von eiterblase
das ist eine 1:1 kopie des forums, nur ohne posts, sonst aber mit allem zipp und zapp. habe ich für versuchszwecke eingerichtet, damit ich was zum testen habe ohne gleich an das richtige board zu müssen.
ich habe die sachen aber an beiden foren getestet - ergebnis bleibt das selbe.
beide boards haben natürlich eine eigene datenbank.

Verfasst: 17.07.2008 22:42
von Mahony
Hallo
Ich würde vorschlagen, du legst die Tabelle phpbb_groups neu an

Code: Alles auswählen

DROP TABLE IF EXISTS `phpbb_groups`;
CREATE TABLE `phpbb_groups` (
  `group_id` mediumint(8) NOT NULL auto_increment,
  `group_type` tinyint(4) NOT NULL default '1',
  `group_name` varchar(40) NOT NULL default '',
  `group_description` varchar(255) NOT NULL default '',
  `group_moderator` mediumint(8) NOT NULL default '0',
  `group_single_user` tinyint(1) NOT NULL default '1',
  `group_color_group` mediumint(8) unsigned NOT NULL default '0',
  PRIMARY KEY  (`group_id`),
  KEY `group_single_user` (`group_single_user`)
) TYPE=MyISAM AUTO_INCREMENT=8;
Dann die Tabelle phpbb_user_group neu anlegen

Code: Alles auswählen

DROP TABLE IF EXISTS `phpbb_user_group`;
CREATE TABLE `phpbb_user_group` (
  `group_id` mediumint(8) NOT NULL default '0',
  `user_id` mediumint(8) NOT NULL default '0',
  `user_pending` tinyint(1) default NULL,
  KEY `group_id` (`group_id`),
  KEY `user_id` (`user_id`)
) TYPE=MyISAM;
Den User Anonymous ebenfalls (gegebenenfalls vorher den Anonymous löschen per)

Code: Alles auswählen

delete from phpbb_users where user_id = -1;

Code: Alles auswählen

INSERT INTO phpbb_users (user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active) VALUES ( -1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL, '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, NULL, '', '', 0, '', '', '', 0, 0);
Anschliessend wieder den Database Maintenance Mod die Usergruppen checken lassen (Menüpunkt - Prüfe Benutzer- und Gruppen-Tabellen).

P.S. Vorher ein Backup der Tabellen anlegen.


Grüße: Mahony

Verfasst: 18.07.2008 08:24
von eiterblase
morgääähn.

hab ich gerade mal gemacht, zuerst die schlechte nachricht:

Code: Alles auswählen

Fehler
SQL-Befehl: 

INSERT INTO phpbb_users( user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active ) 
VALUES (

-1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL , '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, NULL , '', '', 0, '', '', '', 0, 0
);



MySQL meldet:  

#1048 - Column 'user_rank' cannot be null 
kommt als fehlermeldung, wenn ich den letzten von dir geposteten sql-befehl ausführe.

jetzt zur guten: nachdem ich die ersten beiden schritte ausgeführt habe und den maint.-mod laufen lassen habe scheint das problem behoben. folgedurchläufe des mods haben den bisherigen fehler nicht mehr angezeigt und der mod meldet: alles geilo!
allerdings sind in der datenbank nach wie vor die werte für gruppe und user nicht syncron, weichen also von einander ab. ist das ein problem?

danke und gruss

Verfasst: 18.07.2008 10:59
von Mahony
Hallo
allerdings sind in der datenbank nach wie vor die werte für gruppe und user nicht syncron, weichen also von einander ab. ist das ein problem?
Nein das ist kein Problem.

Hast du den User Anonymous gelöscht? Falls nicht, kannst du die Fehlermeldung ignorieren, da der Anonymous ja noch vorhanden ist.






Grüße: Mahony

Verfasst: 18.07.2008 11:34
von eiterblase
hi. ja, das das sniplet zum löschen aus deinem post habe ich ausgeführt und in der user-tabelle wird er auch nicht angezeigt. oder muss ich ihn noch aus anderen tabellen entfernen?

Verfasst: 18.07.2008 11:38
von Mahony
Hallo
Der User Anonymous muss vorhanden sein.
muss ich ihn noch aus anderen tabellen entfernen?
Nein der Anonymous befindet sich nur in der Tabelle phpbb_users.

Versuch mal den Anonymous so anzulegen

Code: Alles auswählen

INSERT INTO phpbb_users( user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active )
VALUES (

-1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL , '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, 0, '', '', 0, '', '', '', 0, 0
);
Falls wieder eine Fehlermeldung kommt, dann poste diese bitte hier.



Grüße: Mahony

Verfasst: 18.07.2008 12:37
von eiterblase

Code: Alles auswählen

Fehler
SQL-Befehl: 

INSERT INTO phpbb_users( user_id, username, user_level, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_viewemail, user_style, user_aim, user_yim, user_msnm, user_posts, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_pm, user_notify_pm, user_allow_viewonline, user_rank, user_avatar, user_lang, user_timezone, user_dateformat, user_actkey, user_newpasswd, user_notify, user_active ) 
VALUES (

-1, 'Anonymous', 0, 0, '', '', '', '', '', '', '', '', 0, NULL , '', '', '', 0, 0, 1, 0, 1, 0, 1, 1, 0, '', '', 0, '', '', '', 0, 0
);



MySQL meldet:  

#1062 - Duplicate entry '-1' for key 1 
haut nicht hin.
btw: die moderatorenrechte sind seit der "bereinigung" verschwunden, konnte sie aber manuell neu setzen im admincenter. das war aber zu erwarten, oder?!