Aller au contenu
XMEDIACREATIONAgence web technique · 25 ans d'expertise

Mis à jour le 18 octobre 2026

PrestaShop : clients impossibles à modifier après une mise à jour

« CustomerException code 0 » à l'enregistrement d'une fiche client après une mise à jour PrestaShop ? La cause est souvent des dates nulles 0000-00-00 héritées d'un import, que MySQL n'accepte plus. Comment les corriger.

Partager :LinkedInFacebookXE-mail

À la suite d'une mise à jour, sur une boutique dont les données ont été importées d'un ancien site, un message d'erreur apparaît à l'enregistrement d'une fiche client :

Une erreur inattendue s'est produite.
[PrestaShop\PrestaShop\Core\Domain\Customer\Exception\CustomerException code 0]

Activer le mode débogage n'affiche pas grand-chose de plus : juste la précision qu'un des champs a une valeur incorrecte. Inutile de vérifier, les champs que vous voyez à l'écran n'ont aucun souci.

La vraie cause : des dates nulles héritées d'un import

Certains scripts d'import inscrivaient des dates nulles de cette forme : 0000-00-00 00:00:00. Les anciennes versions de PrestaShop s'en accommodaient, mais ce format n'est plus accepté par MySQL (mode strict).

PrestaShop bloque donc, en signalant un format de données client incorrect. Mais comme les champs date_add et date_upd ne sont pas modifiables depuis l'administration, impossible de voir le problème — et encore moins d'agir dessus depuis le back-office.

La solution : corriger les dates en base

Il faut intervenir sur la base de données pour remplacer ces dates nulles. Faites d'abord une sauvegarde complète (phpMyAdmin › Exporter, ou l'outil de votre hébergeur), et testez sur une copie si possible. Remplacez le préfixe ps_ par le vôtre s'il est différent.

-- Repérer les fiches concernées
SELECT id_customer, date_add, date_upd
FROM ps_customer
WHERE date_add = '0000-00-00 00:00:00' OR date_upd = '0000-00-00 00:00:00';

-- Corriger : une date d'ajout par défaut, et une date de mise à jour cohérente
UPDATE ps_customer SET date_add = NOW()      WHERE date_add = '0000-00-00 00:00:00';
UPDATE ps_customer SET date_upd = date_add   WHERE date_upd = '0000-00-00 00:00:00';

Les mêmes dates nulles peuvent exister sur d'autres tables issues du même import (commandes, adresses…). La requête de repérage s'adapte en changeant le nom de la table et des colonnes.

Autre option : lever le mode strict de MySQL

On peut aussi modifier la configuration de connexion à la base pour retirer NO_ZERO_DATE / NO_ZERO_IN_DATE du mode SQL. C'est une rustine : elle masque le problème au lieu de le corriger, et les dates nulles restent dans vos données. Mieux vaut nettoyer les dates une bonne fois.

Dans le même esprit, l'arborescence des catégories (nleft/nright) se casse souvent pour la même raison : un import qui écrit directement en base. Et pour le reste, voyez les 7 erreurs PrestaShop qui coûtent cher.

Une boutique qui coince après une mise à jour, ou un import à reprendre ? Nous intervenons sur les bases PrestaShop et remettons les boutiques d'aplomb : notre agence PrestaShop.

Partager :LinkedInFacebookXE-mail

À lire aussi

Toute la rubrique À savoir