Duplicate Entry Error in visitors
Hallo,
ich verwende ein Contao 2.10.4 und das Modul visitors in der Version 2.6.0 Build 6 (aktuell). Ich erhalte auf einer Webseite die schon länger im Einsatz ist folgende Fehlermeldung:
PHP-Code:
Fatal error: Uncaught exception Exception with message Query error: Duplicate entry '1' for key 'vid' (INSERT INTO tl_visitors_searchengines (vid, tstamp, visitors_searchengine, visitors_keywords) VALUES ('1', 1331840631, 'Google', 'mensakeller')) thrown in /home/www/web169/html/mensakeller/system/libraries/Database.php on line 689
#0 /home/www/web169/html/mensakeller/system/libraries/Database.php(663): Database_Statement->query()
#1 /home/www/web169/html/mensakeller/system/modules/visitors/ModuleVisitorsTag.php(477): Database_Statement->executeUncached()
#2 /home/www/web169/html/mensakeller/system/modules/visitors/ModuleVisitorsTag.php(101): ModuleVisitorsTag->VisitorCheckSearchEngine('1')
#3 /home/www/web169/html/mensakeller/system/libraries/Controller.php(2231): ModuleVisitorsTag->ViReplaceInsertTags('cache_visitors:...')
#4 /home/www/web169/html/mensakeller/system/modules/frontend/FrontendTemplate.php(182): Controller->replaceInsertTags('...')
#5 /home/www/web169/html/mensakeller/system/modules/frontend/PageRegular.php(168): FrontendTemplate->output()
#6 /home/www/web169/html/mensakeller/index.php(200): PageRegular->generate(Object(DB_Mysqli_Result))
#7 /home/www/web169/html/mensakeller/index.php(319): Index->run()
#8 {main}
Ein direkter Aufruf der Domain ist ohne Fehler. Der Fehler tritt auf, wenn ich beispielsweise über Google komme.
Ich mach mich selbst auf die Suche der Ursache, aber vielleicht weiss jemand Rat.
Nachtrag: Ich konnte das Problem mit dem 'Reparieren' der Tabelle tl_visitors_searchengines im PhpMyAdmin beheben. Ich bin mir aber nicht sicher, ob es nicht wieder auftreten wird.
Viele Grüße
R.Fehrmann
Liste der Anhänge anzeigen (Anzahl: 1)
ich bekomme die selbe Meldung, allerdings seit dem Update des Visitor Models auf 2.7.1 (in contao 2.10.4) und in etwas anderer Ausführung als der OP (beim ihm scheint das Problem ein doppelt Eintrag bei den Suchmachinen etc zu sein)
nach den Update bietet er die Aktualisierung der DB an:
Code:
ALTER TABLE `tl_visitors_counter` ADD UNIQUE KEY `vid_date` (`vid`, `visitors_date`);
ALTER TABLE `tl_visitors_counter` DROP INDEX `vid`;
Wenn ich das ADD_UNIQUE_KEY ausführe bekomme ich die duplicate Entry Fehlermeldung:
Code:
Fatal error: Uncaught exception Exception with message Query error: Duplicate entry '2-2010-06-27' for key 2 (ALTER TABLE `tl_visitors_counter` ADD UNIQUE KEY `vid_date` (`vid`, `visitors_date`);) thrown in /xxxx/xxxxx/xxxxx/xxxxx/xxxxxxxx/htdocs/cms/system/libraries/Database.php on line 689
Ich benutze je ein visitors Modul für die deutsch-sprachige Website und eins für die englisch-sprachige. Beide Module haben Einträge für den 27.06.2010.
Die Extensionlist sagt mir, die Erweiterung (und alle dazugehörigen Komponenten) wäre aktuell (2.7.1 Build 9)
ETA: im Modul für den deutschen Counter gibt es tatsächlich zwei Einträge für den 27.06.2010 (wie auch immer der zustande gekommen ist) (siehe angehängter Screenshot).