Adiance07 Posted January 17, 2024 Share Posted January 17, 2024 Bonjour, Cela fait plus de 6 mois que j'ai refait ma boutique avec Prestashop, version 8.0.4. Jusqu'à présent je n'ai eu aucun souci, mais depuis quelques semaines j'ai quelques commandes dont je ne peux plus changer l'état. J'ai généré le bordeaux d'expédition avec le module de Colissimo, l'état est bien passé en "En cours d'expédition", mais après ça, impossible de changer l'état. J’obtiens le message d'erreur suivant : Une erreur inattendue s'est produite. [PrestaShopException code 23000] Quelqu'un serait pourquoi cette erreur ce produit et comment la corriger ? Merci d'avance. Cordialement, Adiance. Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 17, 2024 Share Posted January 17, 2024 Il y a 3 heures, Adiance07 a dit : Quelqu'un serait pourquoi cette erreur ce produit et comment la corriger ? Aucune idée, mais vous utilisez une version en plein développement, ce qui implique automatiquement de suivre les mises à jour. Link to comment Share on other sites More sharing options...
Adiance07 Posted January 17, 2024 Author Share Posted January 17, 2024 Merci pour votre réponse, je regarderais ce weekend pour installer la 8.0.5. Le mode debug donne un peu plus d'information : SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '54-588-0-0' for key 'product_sqlstock'. Merci d'avance. Cordialement, Adiance. Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 17, 2024 Share Posted January 17, 2024 il y a 8 minutes, Adiance07 a dit : Merci pour votre réponse, je regarderais ce weekend pour installer la 8.0.5. On en est à la 8.1.3 ! Link to comment Share on other sites More sharing options...
Adiance07 Posted January 17, 2024 Author Share Posted January 17, 2024 Je vais déjà faire la mise à jour mineur avant de m'attaquer à la mise à jour majeur. Link to comment Share on other sites More sharing options...
najib elazoui Posted April 26, 2024 Share Posted April 26, 2024 j'ai corrigé l’erreur avec car le ps 8.x n'utilise pas cette colonne product_sqlstock ALTER TABLE `' . _DB_PREFIX_ . 'stock_available` DROP INDEX `product_sqlstock` Link to comment Share on other sites More sharing options...
remyyyyy Posted January 13 Share Posted January 13 Le 26/04/2024 à 2:00 PM, najib elazoui a dit : j'ai corrigé l’erreur avec car le ps 8.x n'utilise pas cette colonne product_sqlstock ALTER TABLE `' . _DB_PREFIX_ . 'stock_available` DROP INDEX `product_sqlstock` Bonjour, Attention, en supprimant l'index product_sqlstock vous masquez le problème sans le résoudre ! Cet index UNIQUE est essentiel pour garantir l'intégrité des données de stock (une seule entrée par combinaison produit/déclinaison/shop). Sans lui, vous risquez de créer des doublons qui causeront des incohérences de stock. La vraie cause du problème : L'erreur Duplicate entry 'XXXXX-YYY-0-0' for key 'product_sqlstock' survient généralement quand la table ps_stock_available contient des enregistrements incohérents, notamment : Des entrées orphelines : déclinaisons supprimées du catalogue mais toujours présentes dans stock_available Des incohérences de id_shop : certaines entrées avec id_shop = 0 alors que d'autres ont id_shop = 1 (en mode single-shop) -- Vérifier les entrées orphelines (déclinaisons supprimées) SELECT sa.* FROM ps_stock_available sa LEFT JOIN ps_product_attribute pa ON sa.id_product_attribute = pa.id_product_attribute WHERE sa.id_product_attribute != 0 AND pa.id_product_attribute IS NULL; -- Vérifier les incohérences id_shop SELECT id_shop, COUNT(*) as nb FROM ps_stock_available GROUP BY id_shop; -- 1. Backup préventif CREATE TABLE ps_stock_available_backup AS SELECT * FROM ps_stock_available; Si vous n'avez pas activé le multiboutique la résolution est simple (à adapter selon votre cas) : UPDATE ps_stock_available SET id_shop = 1 WHERE id_shop = 0; S'il y'a des doublons, il faut supprimer ceux en incohérence (id_shop = 0) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now