Dokumentenerstellung Fehler SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY'

Hallo liebe Community,

beim Versuch, eine Rechnung zu erstellen, ist es zu folgender Fehlermeldung gekommen:

Beim Speichern des Dokuments ist ein Fehler aufgetreten.
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‚0‘ for key ‚PRIMARY‘

Diese tritt auch bei den anderen Dokumententypen auf. Ich nutze Shopware 5.7.17, aktuell noch mit PHP 7.4.33.
Weiß jemand, wie ich den Fehler lösen kann?

Vielen Dank,
Katharina

Schau mal hier, vielleicht hilft dir dieser Punkt weiter: Shopware 5 - Tutorials & FAQs - Fehlermeldungen in Shopware debuggen

Vielen Dank für die Antwort! Der Fehler ist leider noch da, im System Log ist er folgendermaßen, vielleicht kann man da die Ursache erkennen?

PDOException: SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry ‚0‘ for key ‚PRIMARY‘ in /vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:117 Stack trace:
#0 /vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(117): PDOStatement->execute()
#1 /engine/Library/Zend/Db/Statement/Pdo.php(219): Doctrine\DBAL\Driver\PDOStatement->execute()
#2 /engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute()
#3 /engine/Library/Zend/Db/Adapter/Abstract.php(472): Zend_Db_Statement->execute()
#4 /engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(232): Zend_Db_Adapter_Abstract->query()
#5 /engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(82): Zend_Db_Adapter_Pdo_Abstract->query()
#6 /engine/Shopware/Components/Document.php(773): Enlight_Components_Db_Adapter_Pdo_Mysql->query()
#7 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(78): Shopware_Components_Document->saveDocument()
#8 /engine/Library/Enlight/Hook/HookExecutionContext.php(131): Shopware_Proxies_ShopwareComponentsDocumentProxy->__executeOriginalMethod()
#9 /engine/Library/Enlight/Hook/HookExecutionContext.php(100): Enlight_Hook_HookExecutionContext->executeReplaceChain()
#10 /engine/Library/Enlight/Hook/HookManager.php(172): Enlight_Hook_HookExecutionContext->execute()
#11 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(101): Enlight_Hook_HookManager->executeHooks()
#12 /engine/Shopware/Components/Document.php(347): Shopware_Proxies_ShopwareComponentsDocumentProxy->saveDocument()
#13 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(78): Shopware_Components_Document->assignValues()
#14 /engine/Library/Enlight/Hook/HookExecutionContext.php(131): Shopware_Proxies_ShopwareComponentsDocumentProxy->__executeOriginalMethod()
#15 /engine/Library/Enlight/Hook/HookExecutionContext.php(100): Enlight_Hook_HookExecutionContext->executeReplaceChain()
#16 /engine/Library/Enlight/Hook/HookManager.php(172): Enlight_Hook_HookExecutionContext->execute()
#17 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(89): Enlight_Hook_HookManager->executeHooks()
#18 /engine/Shopware/Components/Document.php(273): Shopware_Proxies_ShopwareComponentsDocumentProxy->assignValues()
#19 /engine/Shopware/Controllers/Backend/Order.php(1927): Shopware_Components_Document->render()
#20 /engine/Shopware/Controllers/Backend/Order.php(1226): Shopware_Controllers_Backend_Order->createDocument()
#21 /engine/Library/Enlight/Controller/Action.php(187): Shopware_Controllers_Backend_Order->createDocumentAction()
#22 /engine/Library/Enlight/Controller/Dispatcher/Default.php(467): Enlight_Controller_Action->dispatch()
#23 /engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch()
#24 /engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch()
#25 /vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle()
#26 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle()
#27 /engine/Shopware/Components/HttpCache/AppCache.php(270): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward()
#28 /vendor/symfony/http-kernel/HttpCache/HttpCache.php(269): Shopware\Components\HttpCache\AppCache->forward()
#29 /engine/Shopware/Components/HttpCache/AppCache.php(106): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass()
#30 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle()
#31

Was sagt denn die Fehlermeldung vom Server?

Meinst du die in der Logfile?

SQLSTATE(23000): Integrity constraint violation: 1062 Duplicate entry ‚0‘ for key ‚PRIMARY‘ in /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Zend/Db/Statement/Pdo.php:224 Stack trace: #0 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Zend/Db/Statement.php(297): Zend_Db_Statement_Pdo->_execute() #1 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Zend/Db/Adapter/Abstract.php(472): Zend_Db_Statement->execute() #2 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(232): Zend_Db_Adapter_Abstract->query() #3 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(82): Zend_Db_Adapter_Pdo_Abstract->query() #4 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Components/Document.php(773): Enlight_Components_Db_Adapter_Pdo_Mysql->query() #5 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(78): Shopware_Components_Document->saveDocument() #6 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookExecutionContext.php(131): Shopware_Proxies_ShopwareComponentsDocumentProxy->__executeOriginalMethod() #7 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookExecutionContext.php(100): Enlight_Hook_HookExecutionContext->executeReplaceChain() #8 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookManager.php(172): Enlight_Hook_HookExecutionContext->execute() #9 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(101): Enlight_Hook_HookManager->executeHooks() #10 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Components/Document.php(347): Shopware_Proxies_ShopwareComponentsDocumentProxy->saveDocument() #11 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(78): Shopware_Components_Document->assignValues() #12 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookExecutionContext.php(131): Shopware_Proxies_ShopwareComponentsDocumentProxy->__executeOriginalMethod() #13 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookExecutionContext.php(100): Enlight_Hook_HookExecutionContext->executeReplaceChain() #14 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Hook/HookManager.php(172): Enlight_Hook_HookExecutionContext->execute() #15 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/var/cache/production_202303281109/proxies/ShopwareComponentsDocumentProxy.php(89): Enlight_Hook_HookManager->executeHooks() #16 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Components/Document.php(273): Shopware_Proxies_ShopwareComponentsDocumentProxy->assignValues() #17 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Controllers/Backend/Order.php(1927): Shopware_Components_Document->render() #18 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Controllers/Backend/Order.php(1226): Shopware_Controllers_Backend_Order->createDocument() #19 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Controller/Action.php(187): Shopware_Controllers_Backend_Order->createDocumentAction() #20 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Controller/Dispatcher/Default.php(467): Enlight_Controller_Action->dispatch() #21 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Library/Enlight/Controller/Front.php(226): Enlight_Controller_Dispatcher_Default->dispatch() #22 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Kernel.php(197): Enlight_Controller_Front->dispatch() #23 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(85): Shopware\Kernel->handle() #24 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(479): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle() #25 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(270): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward() #26 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/vendor/symfony/http-kernel/HttpCache/HttpCache.php(269): Shopware\Components\HttpCache\AppCache->forward() #27 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/engine/Shopware/Components/HttpCache/AppCache.php(106): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass() #28 /var/www/vhosts/xxx.frida.hostkraft.de/html/shopware/shopware.php(122): Shopware\Components\HttpCache\AppCache->handle() #29 {main} {„uid“:„589397b“}

Es gibt ein Shopware-Log (dein Text) und es gibt ein Server-Log (error_log) welches meist außerhalb von deinem Root-Verzeichnis liegt. Eventuell dazu auch mal beim Hoster nachfragen. Ich meine Server-Log, ob dort ggf. noch Fehler aufgezeigt werden.

Vielen Dank!
In der error_log steht:
[ssl:warn] [pid 15093] AH01909: RSA certificate configured for xxx.frida.hostkraft.de:443 does NOT include an ID which matches the server name

Du müsstest ggf, die Uhrzeiten abgleichen, damit die Meldungen auch zusammen passen, also falls vorhanden.

Die Uhrzeiten passen nicht zusammen, im Shopware log ist es 11:33 Uhr, im Server Log dagegen 09:36. Passt also nicht zusammen… :thinking:

Du solltest schauen, welche Fehlermeldungen nachdem Zeitstemphel zusammen passen.

Seit wann ist übrigens der Fehler? Lässt sich das eingrenzen? Wurde in diesem Zeitraum ein Shopware Update gemacht oder ein Plugin installiert oder aktualisiert?

Ich habe im error_log sonst keine weiteren Fehlermeldungen.
Der Fehler ist vermutlich nach dem Update auf 5.7 aufgetreten, in dem Rahmen habe ich zudem das PayPal Plugin aktualisiert.
Ich vermute, dass es an einer fehlerhaften Tabelle in der Datenbank liegt, finde sie bisher jedoch nicht… Die Foreign Key Reparatur hat ja leider ebenfalls nicht die Lösung erbracht.

Eher ein fehlerhafter Eintrag in einer Tabelle. Konnte aber bisher das auch nich nicht näher analysieren.

Irgendwo scheint ein Eintrag mit „0“ enthalten zu sein, welcher aber nur einmal in der Tabelle stehen darf. Ich weiß leider bisher auch (noch) nicht welche Tabelle das sein kann.

Ich vermute, dass das Problem ist, dass entweder 2 Primary Keys in einer Tabelle vergeben wurden, oder eben gar keiner. Habe in der Tabelle s_mail_log_document zumnindest gesehen, dass hier 2 Primary Keys definiert sind, und frage mich, ob das so richtig ist oder ob das evtl zu dem Fehler führt. Wenn ich jedoch nur einen der beiden als Primary Key auswähle, besteht der Fehler leider fort. Außerdem ist Auto Increment nicht aktiviert, beim Versuch es zu aktivieren kommt jedoch leider eine Fehlermeldung (#1832 - Cannot change column ‚log_id‘: used in a foreign key constraint ‚s_mail_log_document_ibfk_2‘)…

Was die Tabelle „s_mail_log_document“ betrifft, so darf das hier auch nicht sein.

Hm… Ich frage mich, wie ich die fehlerhafte Tabelle finden kann…

Habe die Lösung gefunden: Das Problem lag in der _order_documents, hier war für id ein Eintrag mit ‚0‘ vergeben, was den Fehler ausgelöst hat. Das Löschen des Eintrages hat nun die Lösung gebracht. Vielen Dank für die Unterstützung!

Edit: Nun folgt das nächste Problem :sweat_smile: Sobald ich ein neues Dokument erstelle, wird wieder ein Eintrag mit der id ‚0‘ erstellt. Gibt es eine Möglichkeit, das zu unterbinden? Sonst müsste ich jedes mal manuell den DB Eintrag löschen.

Für die ID in dieser Tabelle sollte auto_increment aktiv sein, dann dürfte das eigentlich nicht passieren.

Genau, das dachte ich auch. Jedoch ist auto_increment nicht aktiviert, beim Versuch es zu aktivieren erhalte ich folgende Fehlermeldung:
#1833 - Cannot change column ‚id‘: used in a foreign key constraint ‚s_mail_log_document_ibfk_1‘ of table ‚xxx_sw.s_mail_log_document‘
Hab leider nicht so tiefreichende Kenntnisse um diesen Fehler auf dem Stegreif zu umgehen…