Bonsoir,
je précise tout de suite que je suis nul en sql, tout juste bon à suivre les indications glanées ici ou là...
voili voilà, je viens de migrer de la 1.6.2 vers la 1.7.1 et aimerais à présent importer mes historiques, mais j'ai une erreur sur l'étape 1 avec ImportStat :
CREATE TABLE phpwebgallery_ImportStat_tmp
(KEY iimages (image_id), KEY icategory (category_id), KEY icategory2 (category_name))
SELECT DATE(date) AS date,
TIME (date) AS time,
YEAR(date) AS year,
MONTH(date) AS month,
DAY(date) AS day,
HOUR(date) AS hour,
IF(phpwebgallery_users.id IS NULL, 2, phpwebgallery_users.id) AS user_id,
IP,
'' AS section,
0 AS category_id,
NULL AS tag_ids,
phpwebgallery_history_backup.picture AS image_id,
'false' AS summarized,
IF(phpwebgallery_history_backup.picture = '', 'other', 'picture') AS image_type,
TRIM(SUBSTRING_INDEX(phpwebgallery_history_backup.category, '/', -1)) as category_name
FROM phpwebgallery_history_backup LEFT JOIN
phpwebgallery_users
ON phpwebgallery_history_backup.login = phpwebgallery_users.username ;
[mysql error 1064] You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(date) AS date,
TIME (date) AS time,
YEAR(date) AS ye
comment faire ?
merci d'avance !
Christophe
Christophe rajoute les infos de ta config ... mysql ca peut aider
Hors ligne
euh... MySQL: 4.0.25-standard-log ça suffit ?
sinon explique moi où trouver les infos stp :-)
a+
Christophe
j'ajoute juste que je suis chez OVH avec une offre 300GP et que j'ai les infos MySql suivantes :
# Version du client MySQL: 5.0.32
# Extensions PHP utilisées: mysql
sinon, comme déjà expliqué je suis une buse en sQL, le plus compliqué que j'aie fait c'est remettre de temps en temps les hits de phpwebgallery_images à 0 sur mon site (bien entendu j'ai suivi le truc donné quelque part sur le forum :-])
merci d'avance en tout cas :-)
a+
Christophe
bon, j'ai pris note des petits soucis rencontrés, c'est ma todo....
pour le pb de requête, difficile de tester chaque version de mySQL, mais j'ai une idée du problème...
for the right syntax to use near '(date) AS date, TIME (date) AS time, YEAR(date) AS ye
Dans le fichier plugin_class.inc.php
1) dans la fonction step_1 remplacer (date) AS date par (date) AS date2
2) dans la fonction step_5 remplacer WHERE CONCAT(".$this->prefixeTable.$this->plugin_name."_tmp.date, par WHERE CONCAT(".$this->prefixeTable.$this->plugin_name."_tmp.date2,
3) dans la fonction step_8 remplacer SELECT date, time, year, par SELECT date2, time, year, (ne pas toucher à (date, time !) et ORDER BY date, time; par ORDER BY date2, time;
et çà devrait passer mieux...
=> j'ai pas testé, plus de 1.6.2 sous la main....
Dernière modification par grum (2008-02-04 22:40:05)
Hors ligne
Bonsoir,
Merci grum pour tes indications, je vais tester ça dès que j'aurai un moment, et j'indiquerai le résultat ici bien sûr !
A+
Christophe
Hors ligne
grum a écrit:
bon, j'ai pris note des petits soucis rencontrés, c'est ma todo....
pour le pb de requête, difficile de tester chaque version de mySQL, mais j'ai une idée du problème...Code:
for the right syntax to use near '(date) AS date, TIME (date) AS time, YEAR(date) AS yeDans le fichier plugin_class.inc.php
1) dans la fonction step_1 remplacer (date) AS date par (date) AS date2
2) dans la fonction step_5 remplacer WHERE CONCAT(".$this->prefixeTable.$this->plugin_name."_tmp.date, par WHERE CONCAT(".$this->prefixeTable.$this->plugin_name."_tmp.date2,
3) dans la fonction step_8 remplacer SELECT date, time, year, par SELECT date2, time, year, (ne pas toucher à (date, time !) et ORDER BY date, time; par ORDER BY date2, time;
et çà devrait passer mieux...
=> j'ai pas testé, plus de 1.6.2 sous la main....
Salut grum !
Bon eh bien ça bloque toujours à l'étape 1, pourtant j'ai fait scrupuleusement les modifs que tu m'as indiquées...
J'obtiens le message suivant :
CREATE TABLE phpwebgallery_ImportStat_tmp
(KEY iimages (image_id), KEY icategory (category_id), KEY icategory2 (category_name))
SELECT DATE(date) AS date2,
TIME (date) AS time,
YEAR(date) AS year,
MONTH(date) AS month,
DAY(date) AS day,
HOUR(date) AS hour,
IF(phpwebgallery_users.id IS NULL, 2, phpwebgallery_users.id) AS user_id,
IP,
'' AS section,
0 AS category_id,
NULL AS tag_ids,
phpwebgallery_history_backup.picture AS image_id,
'false' AS summarized,
IF(phpwebgallery_history_backup.picture = '', 'other', 'picture') AS image_type,
TRIM(SUBSTRING_INDEX(phpwebgallery_history_backup.category, '/', -1)) as category_name
FROM phpwebgallery_history_backup LEFT JOIN
phpwebgallery_users
ON phpwebgallery_history_backup.login = phpwebgallery_users.username ;
[mysql error 1064] You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(date) AS date2,
TIME (date) AS time,
YEAR(date) AS y
Désolé :$
a+
Christophe
Hors ligne