WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Erreur Woocommerce uplicate entry ‘0’ for key ‘PRIMARY’ action-scheduler
- Ce sujet contient 4 réponses, 2 participants et a été mis à jour pour la dernière fois par Marie, le il y a 4 années et 2 mois.
-
AuteurMessages
-
9 septembre 2020 à 22 h 28 min #195659
Bonjour,
j’ai fait un site internet pour mon frère confiseur. Je l’ai passé en production hier et tout allait bien jusqu’à ce matin ou une erreur est apparue et a bloqué tout le site.
Voici l’erreur:
Une erreur de type
E_ERRORa été causée dans la ligne
44du fichier
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php. Message d’erreur :
Uncaught
RuntimeException: Erreur lors de l’enregistrement de l’action : Erreur lors de l’enregistrement de l’action : Duplicate entry ‘0’ for key ‘PRIMARY’ in
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php:44
Stack trace: #0
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php(242):ActionScheduler_DBStoreMigrator->save_action(Object(ActionScheduler_Action),
NULL)
#1
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionFactory.php(177):ActionScheduler_HybridStore->save_action(Object(ActionScheduler_Action))
#2
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionFactory.php(84):
ActionScheduler_ActionFactory->store(Object(ActionScheduler_Action))
#3
/xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/functions.php(36): Act`Visiblement, il y a un problème de mise en base avec une clé primaire mise à jour avec une valeur déjà utilisée.
WordPress version 5.5.1
Thème actuel : Theme enfant (version 0.0.1)
Extension actuelle : WooCommerce (version 4.4.1)
PHP version 7.2.31Je ne sais pas comment résoudre ce pb. Est-ce que qqn aurait une idée?
Merci d’avance pour votre aide.
10 septembre 2020 à 12 h 56 min #195687Bonjour,
Effectivement ça peut être ça.
Il faut vérifier dans la table concernée que la valeur PRIMARY est bien en « auto-increment »
https://trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html
(ça peut être un peu différent selon la version de phpmyadmin)Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !
1 user thanked author for this post.
10 septembre 2020 à 15 h 44 min #195696Bonjour Guy et merci pour votre message.
C’est exactement ce que je cherchais sur mon hébergeur, mais je ne l’ai pas trouvé. Je suis chez OVH et le design des tables à changé, cachant certaines propriétés.
J’ai vidé la table et j’ai joué un alter-table hier: ALTER TABLEnom_de__la_table
AUTO_INCREMENT=50;
Mais il a recommencé à me créer un enregistrement à partir de 0.De plus, je suis maintenant en mode récupération sous WordPress et je n’arrive plus du tout à relancer le plugin Woocommerce. Sacré pagaille que voilà!
Avec toujours la même erreur:
Une erreur de type E_ERROR a été causée dans la ligne 44 du fichier /xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php. Message d’erreur : Uncaught RuntimeException: Erreur lors de l'enregistrement de l'action : Erreur lors de l'enregistrement de l'action : Erreur de la base de données. in /xxx/www/wp-content/plugins/woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php:44 Stack trace: #0...
Auriez-vous d’autres idées svp? Je suis un peu à bout d’idées…
Je viens de me connecter à l’admin dans le mode normal (pas de récupération), et il semblerait qu’effectivement, ma clé ne soit pas en auto-incrément:
INSERT INTO
www_actionscheduler_actions(
hook,
status,
scheduled_date_gmt,
scheduled_date_local,
schedule,
group_id,
args) VALUES ('action_scheduler/migration_hook', 'pending', '2020-09-10 14:03:45', '2020-09-10 16:03:45', 'O:30:\"ActionScheduler_SimpleSchedule\":2:{s:22:\"\0*\0scheduled_timestamp\";i:1599746625;s:41:\"\0ActionScheduler_SimpleSchedule\0timestamp\";i:1599746625;}', '1', '[]')
On voit qu’aucune valeur n’est passée pour l’ID, donc, il devrait s’incrémenter tout seul.
Connaissez-vous la syntaxe SQL pour forcer l’auto-incrémentation sur ce champ?
D’avance, merci pour votre aide!10 septembre 2020 à 18 h 03 min #195732Sur OVH j’obtiens ceci comme présentation
Un aperçu SQL indique:
ALTER TABLE
wpbu_actionscheduler_actions
CHANGEaction_id
action_id
BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !
10 septembre 2020 à 18 h 45 min #195743Arf! J’avais pas les yeux au bon endroit. Du coup, j’ai recréé la table en mettant le champ en Primary key et auto increment.
Après cela, il m’a dit que des tables n’existaient pas, j’ai du donc les créer alors qu’elles existent sur mon environnement de test. Je ne sais pas pourquoi il les a effacé.
Ceci dit, la table des logs gonfle à vue d’oeil, il va falloir que je modifie les cron avant qu’elle n’explose, mais ceci est un autre sujet.
Je vous remercie beaucoup pour votre aide et je peux fermer le sujet si je trouve le bouton adéquat… 🙂 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.