Tatooine Posted January 31, 2017 Share Posted January 31, 2017 Version de PrestaShop 1.6.1.11 Version de PHP 7.0.6 Version de MySQL 5.5.53-0+deb7u1-log Moteur MySQL InnoDB Connecteur MySQL DbPDO Bonjour à toutes et à tous, Mon problème : les adresses des clients ne veulent pas s'enregistrer correctement dans la base de données, enfin si, elle s'enregistrent, mais avec comme ID 0 à chaque nouvelle adresse. J'ai récupéré la table ps_address d'un site que je refais entièrement (MAJ Presta, changement de thème, etc), du coup je suis reparti de zéro em réimportant les données clients et produits par mySQL, mais je pense que j'ai du merdouiller quelque part lors de l'export import, car maintenant toutes les nouvelles adresses sont impactées par ce problème. Pourquoi l'ID reste bloqué sur zéro à chaque fois ? Quelqu'un a t-il déjà eu le même souci ? Pour info la structure de la table : CREATE TABLE `ps_address` ( `id_address` int(10) unsigned NOT NULL, `id_country` int(10) unsigned NOT NULL, `id_state` int(10) unsigned DEFAULT NULL, `id_customer` int(10) unsigned NOT NULL DEFAULT '0', `id_manufacturer` int(10) unsigned NOT NULL DEFAULT '0', `id_supplier` int(10) unsigned NOT NULL DEFAULT '0', `id_warehouse` int(10) unsigned NOT NULL DEFAULT '0', `alias` varchar(32) NOT NULL, `company` varchar(64) DEFAULT NULL, `lastname` varchar(32) NOT NULL, `firstname` varchar(32) NOT NULL, `address1` varchar(128) NOT NULL, `address2` varchar(128) DEFAULT NULL, `postcode` varchar(12) DEFAULT NULL, `city` varchar(64) NOT NULL, `other` text, `phone` varchar(32) DEFAULT NULL, `phone_mobile` varchar(32) DEFAULT NULL, `vat_number` varchar(32) DEFAULT NULL, `dni` varchar(16) DEFAULT NULL, `date_add` datetime NOT NULL, `date_upd` datetime NOT NULL, `active` tinyint(1) unsigned NOT NULL DEFAULT '1', `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Merci d'avance !! Link to comment Share on other sites More sharing options...
ApoA Posted January 31, 2017 Share Posted January 31, 2017 Bonsoir, L'id en question est-il bien en auto_increment (colonne extra) ? Egalement dans les options, vérifier que la valeur de l'auto increment est bonne... Link to comment Share on other sites More sharing options...
Tatooine Posted February 1, 2017 Author Share Posted February 1, 2017 Bonjour et merci pour votre réponse, dans ma base j'ai ça : -- -- AUTO_INCREMENT pour la table `ps_address` -- ALTER TABLE `ps_address` MODIFY `id_address` int(10) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=18308; Je suis une bille en mySQL, "AUTO_INCREMENT=18308" ça veut dire que le prochain ID commencera à 18308 c'est ça ? Si c'est ça est-ce normal d'avoir "AUTO_INCREMENT," juste avant du coup ? Egalement dans les options, vérifier que la valeur de l'auto increment est bonne... Quelles options et où les trouver ? Pouvez-vous m'éclaircir d'avantage ? Link to comment Share on other sites More sharing options...
Eolia Posted February 1, 2017 Share Posted February 1, 2017 Exécutez cette commande dans votre sql: ALTER TABLE `ps_address` MODIFY `id_address` int(10) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1 Et vérifiez que le champ id_address est bien passé en autoincrément dans la structure de la table Link to comment Share on other sites More sharing options...
Tatooine Posted February 1, 2017 Author Share Posted February 1, 2017 Ca donne une erreur : MySQL a répondu: #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key J'ai avancé depuis, j'ai trouvé la colonne "Extra" dans la structure de la table, et effectivement il n'y a rien dedans. J'ai vérifié sur un autre prestashop qui fonctionne bien, dans cette colonne il y a bien "AUTO_INCREMENT". Comment faire pour ajouter "AUTO_INCREMENT" sans erreur ? Link to comment Share on other sites More sharing options...
Tatooine Posted February 1, 2017 Author Share Posted February 1, 2017 Résolu !! J'avais 3 adresses dans ma table, avec un ID à 0, c'est ça qui bloquait...Je les ai supprimé via mySQL et j'ai réimporté la table ps_address en copiant la structure depuis la base d'un autre Prestashop qui fonctionne bien, à savoir : CREATE TABLE IF NOT EXISTS `ps_address` ( `id_address` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_country` int(10) unsigned NOT NULL, `id_state` int(10) unsigned DEFAULT NULL, `id_customer` int(10) unsigned NOT NULL DEFAULT '0', `id_manufacturer` int(10) unsigned NOT NULL DEFAULT '0', `id_supplier` int(10) unsigned NOT NULL DEFAULT '0', `id_warehouse` int(10) unsigned NOT NULL DEFAULT '0', `alias` varchar(32) NOT NULL, `company` varchar(64) DEFAULT NULL, `lastname` varchar(32) NOT NULL, `firstname` varchar(32) NOT NULL, `address1` varchar(128) NOT NULL, `address2` varchar(128) DEFAULT NULL, `postcode` varchar(12) DEFAULT NULL, `city` varchar(64) NOT NULL, `other` text, `phone` varchar(32) DEFAULT NULL, `phone_mobile` varchar(32) DEFAULT NULL, `vat_number` varchar(32) DEFAULT NULL, `dni` varchar(16) DEFAULT NULL, `date_add` datetime NOT NULL, `date_upd` datetime NOT NULL, `active` tinyint(1) unsigned NOT NULL DEFAULT '1', `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id_address`), KEY `address_customer` (`id_customer`), KEY `id_country` (`id_country`), KEY `id_state` (`id_state`), KEY `id_manufacturer` (`id_manufacturer`), KEY `id_supplier` (`id_supplier`), KEY `id_warehouse` (`id_warehouse`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18308 ; Merci pour votre aide, ça m'a permis de trouver !! 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