Jump to content

[Resolu]Erreur SQL à la mise à jour


Recommended Posts

Bonjour

Je viens de faire la mise à jour de ma boutique version 1.4.5.1 vers 1.4.7 à la fin j'ai eu un message d'erreur: Malheureusement, 1 erreurs SQL sont apparues. et voilà l'erreur:

INSERT INTO `ps_hook_module` (`id_hook`, `id_module`, `position`) VALUES (@id_hook, @id_module, @position)
(1048) Column 'id_module' cannot be null

 

Que dois-je faire pour rectifier ?

 

Merci

Edited by Marc (see edit history)
Link to comment
Share on other sites

Bonjour

 

J'ai également ce probleme et également celui ci à la derniere étape de l'install

Error during install/upgrade: Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\EasyPHP-5.3.6.1\www\Macktentest\classes\Db.php on line 131 Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\EasyPHP-5.3.6.1\www\Macktentest\classes\Db.php on line 134

 

ET voici un extrait des erreurs sql

Malheureusement, 179 erreurs SQL sont apparues.

 

voir le rapport

SET NAMES 'utf8'

 

SET NAMES 'utf8'

 

SET NAMES 'utf8'

 

/* PHP:update_products_ecotax_v133(); */

 

SET NAMES 'utf8'

 

SET NAMES 'utf8'

 

SET NAMES 'utf8'

 

ALTER TABLE `ps_employee` ADD `bo_color` varchar(32) default NULL AFTER `stats_date_to`

(1060) Nom du champ 'bo_color' déjà utilisé

 

ALTER TABLE `ps_employee` ADD `bo_theme` varchar(32) default NULL AFTER `bo_color`

(1060) Nom du champ 'bo_theme' déjà utilisé

 

ALTER TABLE `ps_employee` ADD `bo_uimode` ENUM('hover','click') default 'click' AFTER `bo_theme`

(1060) Nom du champ 'bo_uimode' déjà utilisé

 

ALTER TABLE `ps_employee` ADD `id_lang` int(10) unsigned NOT NULL default 0 AFTER `id_profile`

(1060) Nom du champ 'id_lang' déjà utilisé

 

ALTER TABLE `ps_cms` ADD `id_cms_category` int(10) unsigned NOT NULL default '0' AFTER `id_cms`

(1060) Nom du champ 'id_cms_category' déjà utilisé

 

ALTER TABLE `ps_cms` ADD `position` int(10) unsigned NOT NULL default '0' AFTER `id_cms_category`

(1060) Nom du champ 'position' déjà utilisé

 

CREATE TABLE `ps_cms_category` ( `id_cms_category` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_parent` int(10) unsigned NOT NULL, `level_depth` tinyint(3) unsigned NOT NULL DEFAULT '0', `active` tinyint(1) unsigned NOT NULL DEFAULT '0', `date_add` datetime NOT NULL, `date_upd` datetime NOT NULL, `position` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`id_cms_category`), KEY `category_parent` (`id_parent`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

(1050) La table 'ps_cms_category' existe déjÃ

 

CREATE TABLE `ps_cms_category_lang` ( `id_cms_category` int(10) unsigned NOT NULL, `id_lang` int(10) unsigned NOT NULL, `name` varchar(128) NOT NULL, `description` text, `link_rewrite` varchar(128) NOT NULL, `meta_title` varchar(128) DEFAULT NULL, `meta_keywords` varchar(255) DEFAULT NULL, `meta_description` varchar(255) DEFAULT NULL, UNIQUE KEY `category_lang_index` (`id_cms_category`,`id_lang`), KEY `category_name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

(1050) La table 'ps_cms_category_lang' existe déjÃ

 

INSERT INTO `ps_cms_category_lang` VALUES(1, 1, 'Home', '', 'home', NULL, NULL, NULL)

(1062) Duplicata du champ '1-1' pour la clef 'category_lang_index'

 

INSERT INTO `ps_cms_category_lang` VALUES(1, 2, 'Accueil', '', 'home', NULL, NULL, NULL)

(1062) Duplicata du champ '1-2' pour la clef 'category_lang_index'

 

INSERT INTO `ps_cms_category_lang` VALUES(1, 3, 'Inicio', '', 'home', NULL, NULL, NULL)

(1062) Duplicata du champ '1-3' pour la clef 'category_lang_index'

 

INSERT INTO `ps_cms_category` VALUES(1, 0, 0, 1, NOW(), NOW(),0)

(1062) Duplicata du champ '1' pour la clef 'PRIMARY'

 

UPDATE `ps_cms_category` SET `position` = 0

 

UPDATE `ps_cms` SET `position` = 0

 

UPDATE `ps_cms` SET `id_cms_category` = 0

 

ALTER TABLE `ps_category` ADD `position` int(10) unsigned NOT NULL default '0' AFTER `date_upd`

(1060) Nom du champ 'position' déjà utilisé

 

UPDATE `ps_employee` SET `id_lang` = (SELECT `value` FROM `ps_configuration` WHERE `name` LIKE "PS_LANG_DEFAULT")

 

ALTER TABLE `ps_customer` ADD `note` text AFTER `secure_key`

(1060) Nom du champ 'note' déjà utilisé

 

ALTER TABLE `ps_contact` ADD `customer_service` tinyint(1) NOT NULL DEFAULT 0 AFTER `email`

(1060) Nom du champ 'customer_service' déjà utilisé

 

CREATE TABLE `ps_customer_thread` ( `id_customer_thread` int(11) unsigned NOT NULL au

 

Merci !

Link to comment
Share on other sites

Pour ma part je ne sais pas t'aider puisque moi même je n'ai pas eu d'aide.

Je n'avais qu'une erreur et ma boutique fonctionne, je verrai à la prochaine MAJ.

 

Ta boutique fonctionne toujours ? aussi non c'est de revenir à l'ancienne juste avant ma MAJ , et de travailler en local pour retster un MAJ ...

Link to comment
Share on other sites

  • 2 months later...

Marc,

 

J'ai eu la même ligne d'erreur que toi.

Tu n'as malheureusement pas copié les lignes précédentes, donc je ne sais pas si l'origine de l'erreur est la même.

Dans mon cas, voici l'enchainement de requêtes aboutissant à l'erreur :

 

INSERT INTO `ps_hook` (`name`, `title`, `description`, `position`, `live_edit`) VALUES ('frontCanonicalRedirect', 'Front Canonical Redirect', 'Check for 404 errors before canonical redirects', 0, 0)

SET @id_hook = (SELECT `id_hook` FROM `ps_hook` WHERE `name` = 'frontCanonicalRedirect')

SET @position = (SELECT IFNULL(MAX(`position`),0)+1 FROM `ps_hook_module` WHERE `id_hook` = @id_hook)

SET @id_module = (SELECT `id_module` FROM `ps_module` WHERE `name` = 'pagesnotfound')

INSERT INTO `ps_hook_module` (`id_hook`, `id_module`, `position`) VALUES (@id_hook, @id_module, @position)

(1048) Column 'id_module' cannot be null

 

La dernière requête cherche à lier le module "Pages introuvables v1.0" au hook "Front Canonical Redirect".

Or, sur ma boutique, le module en question n'était pas installé. La variable id_module était alors nulle, d'où l'erreur sql.

 

À priori, ça ne devrait pas poser de problème pour le fonctionnement de la boutique.

Par acquis de conscience, j'ai installé le module via l'interface d'administration, et il s'est bien lié au hook.

Aucun disfonctionnement à constater, je l'ai donc re-désinstallé ensuite.

Link to comment
Share on other sites

Bonjour, remettez votre boutique avec la version de votre sauvegarde (si vous l'avez faite).

Avant de faire votre mise à jour installez le module "Récupération des données statistiques" et le module "Pages introuvables".

Cet update sql est lié à la mise à jour du module "pagesnotfound" (=module Pages introuvables). Malheureusement si le module n'est pas installé l'erreur sql évoquée par Marc (premier post) apparaîtra.

FreshTouch: Il s'agit bien de la même erreur que la tienne, et tu lui apporte bien la solution.

Cordialement

Marc: Une fois ta mise à jour effectuée avec succès, pense à marquer cette discussion en résolu. ;)

Link to comment
Share on other sites

Merci à vous deux , jusqu'à présent tout fonctionne très bien faudra voir à la prochaine mise à jour ...

voilà tout de même le texte en entier

SET NAMES 'utf8'

 

/* PHP:update_order_canada(); */

 

CREATE TABLE IF NOT EXISTS `ps_compare` ( `id_compare` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_customer` int(10) unsigned NOT NULL, PRIMARY KEY (`id_compare`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8

 

ALTER TABLE `ps_compare_product` DROP `id_compare_product` , DROP `id_guest` , DROP `id_customer`

 

ALTER TABLE `ps_compare_product` ADD `id_compare` int(10) unsigned NOT NULL, ADD PRIMARY KEY( `id_compare`, `id_product`)

 

ALTER TABLE `ps_store` CHANGE `latitude` `latitude` DECIMAL(11, 8) NULL DEFAULT NULL

 

ALTER TABLE `ps_store` CHANGE `longitude` `longitude` DECIMAL(11, 8) NULL DEFAULT NULL

 

ALTER TABLE `ps_address_format` ADD PRIMARY KEY (`id_country`)

 

ALTER TABLE `ps_address_format` DROP INDEX `country`

 

/* PHP:hook_blocksearch_on_header(); */

 

SET NAMES 'utf8'

 

/* PHP:add_module_to_hook(authorizeaim, header); */

 

SET NAMES 'utf8'

 

INSERT IGNORE INTO `ps_configuration` (`name`, `value`, `date_add`, `date_upd`) VALUES ('PS_LIMIT_UPLOAD_IMAGE_VALUE', '2', NOW(), NOW()), ('PS_LIMIT_UPLOAD_FILE_VALUE', '2', NOW(), NOW())

 

SET NAMES 'utf8'

 

ALTER TABLE `ps_category_product` DROP INDEX `category_product_index`

 

ALTER TABLE `ps_category_product` ADD UNIQUE `category_product_index` (`id_category`,`id_product`)

 

CREATE TABLE IF NOT EXISTS `ps_order_tax` ( `id_order` int(11) NOT NULL, `tax_name` varchar(40) NOT NULL, `tax_rate` decimal(6,3) NOT NULL, `amount` decimal(20,6) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8

 

INSERT INTO `ps_hook` (`name`, `title`, `description`, `position`, `live_edit`) VALUES ('frontCanonicalRedirect', 'Front Canonical Redirect', 'Check for 404 errors before canonical redirects', 0, 0)

 

SET @id_hook = (SELECT `id_hook` FROM `ps_hook` WHERE `name` = 'frontCanonicalRedirect')

 

SET @position = (SELECT IFNULL(MAX(`position`),0)+1 FROM `ps_hook_module` WHERE `id_hook` = @id_hook)

 

SET @id_module = (SELECT `id_module` FROM `ps_module` WHERE `name` = 'pagesnotfound')

 

INSERT INTO `ps_hook_module` (`id_hook`, `id_module`, `position`) VALUES (@id_hook, @id_module, @position)

(1048) Column 'id_module' cannot be null

 

ALTER TABLE `ps_order_state` ADD COLUMN `deleted` tinyint(1) UNSIGNED NOT NULL default '0' AFTER `delivery`

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...