[Résolu] Problème MySQL (#1064)

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

[Résolu] Problème MySQL (#1064)

Message par GizMecano »

Hello,

Depuis quelques temps, j'aide un ami à monter un site en PHP avec plusieurs tables MySQL, et je me heurte à un problème que je n'ai jamais rencontré auparavant.

Je me suis connecté à sa base (hébergée chez un prestateur payant), ai supprimé les anciennes tables devenues inutiles puis ai essayé d'importer les miennes. Et là : erreur :evil: !

Quand je tente de les importer toutes en même temps, il me dit que la base existe déjà... Qu'à cela ne tienne, j'ai donc tenté de les importer une à une, tranquillement. Nouvelle erreur, différente. Quelques soient les options que je choisisse pour exporter ma table en local, j'obtiens systèmatiquement une erreur en distant, du type #1064.

En clair, ça donne quelque chose comme ça (en prenant l'exemple de l'une de ces tables) :

Code : Tout sélectionner

 CREATE TABLE IF NOT EXISTS `actualites` (
`date` date NOT NULL default '0000-00-00',
`lieu` varchar( 40 ) NOT NULL default '',
`action` tinytext NOT NULL ,
UNIQUE KEY `date` ( `date` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 
Ce à quoi il me répond :
MySQL a écrit :#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 'DEFAULT CHARSET=utf8' at line 6
Je tiens à préciser que ce n'est pas ma première expérience avec MySQL : mon site personnel entier est basé là dessus par exemple. J'ai même fait le test, concluant, d'importer une de ces tables sur ma propre base et tout fonctionne parfaitement.

Je ne comprends absolument pas d'où vient ce genre d'erreur. Si quelqu'un à une petite idée, même un début de piste : je prends... :wink:

Ciao,
Dernière modification par GizMecano le 13 sept. 2006, 09:48, modifié 1 fois.
GizMecano.net
http://gizmecano.net
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Est-ce que tu sais de quelle version de MySQL il s'agit ?
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Message par lpgc »

bonjour, :D
je sais pas si çà peut aider ?

j'ai essayé sur mon serveur qui est en French (fr-iso-8859-1 ) et çà donne la même erreur

Code : Tout sélectionner

Erreur
requête SQL :  
CREATE TABLE IF NOT EXISTS `actualites` ( 
`date` date NOT NULL default '0000-00-00',
`lieu` varchar( 40 ) NOT NULL default '',
`action` tinytext NOT NULL ,
UNIQUE KEY `date` ( `date` ) 
)ENGINE = MYISAM DEFAULT CHARSET = utf8 

MySQL a répondu:

#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 'DEFAULT CHARSET  = utf8' at line 4 
:idea: en elevant le ENGINE... çà passe

Code : Tout sélectionner

Votre requête SQL a été exécutée avec succès (traitement: 0.0409 sec.)

requête SQL : [Modifier] [Créer source PHP]
CREATE TABLE IF NOT EXISTS `actualites` ( 
`date` date NOT NULL default '0000-00-00',
`lieu` varchar( 40 ) NOT NULL default '',
`action` tinytext NOT NULL ,
UNIQUE KEY `date` ( `date` ) 
) 
Cordialement
Christian

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello,

Merci à tous les deux. Vous m'avez mis sur la piste, car il semble bien s'agir d'un problème de version. Le test proposé par lpgc n'a pas fonctionné chez moi (tout est en utf-8, a priori), mais l'erreur n'était plus la même... :?

Il s'avère en fait que les deux versions de MySQL ne sont pas tout à fait les mêmes (problème que je pensais mineur) : en distant MySQL 4.0.24_Debian-10sarge1-log et en local MySQL 4.1.9-max. En forçant l'option Compatibilité de l'exportation en MYSQL40 (chose que je ne pensais pas utile vu la proximité des deux versions), l'importation vers la base distante passe correctement : je ne vois donc que cette solution.

Merci encore.

Ciao,
GizMecano.net
http://gizmecano.net
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Oui en fait les différences entre mySQL 4.0 et mySQL 4.1 sont plutôt énormes (plus qu'entre la 3.23 et la 4.0 il me semble).
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello
Benoit a écrit :Oui en fait les différences entre mySQL 4.0 et mySQL 4.1 sont plutôt énormes.
Ce qui est fou, c'est de penser que c'est un hébergeur payant qui utilise cette ancienne version, alors que dans mon EasyPHP que je n'ai pas mis à jour depuis pas mal de temps, j'ai une version plus récente :roll:

Ciao,
GizMecano.net
http://gizmecano.net
lpgc
Lézard à collerette
Messages : 259
Inscription : 16 juil. 2006, 01:02

Message par lpgc »

bonjour, :D

simple question : chez mon hébergeur qui est aussi payant...

je sais qu'il est possible de choisir comme paramètre la version PHP que l'on veut utiliser 4 ou 5

comme j'ai à peine quelques mois en programm Web, je me demandais

si c'était aussi possible de choisir entre les versions MySQL :?:

Merci
Christian

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello,
lpgc a écrit :si c'était aussi possible de choisir entre les versions MySQL :?:
Si c'est le cas, je n'ai pas trouvé où ? Bon, d'un autre côté, peut-être que ça peut se trouver dans les spécifications de l'ouverture de compte... Comme il n'est pas à moi :roll:

Ciao,
GizMecano.net
http://gizmecano.net
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Généralement s'il te propose plusieurs versions ce sera sur un serveur différent. Par exemple mysql.serveurpayant.com pour l'un et mysql4.serveurpayant.com pour l'autre. Il faut voir dans la doc qui t'est fournie, ou poser la question au support.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

GizMecano a écrit :Ce qui est fou, c'est de penser que c'est un hébergeur payant qui utilise cette ancienne version, alors que dans mon EasyPHP que je n'ai pas mis à jour depuis pas mal de temps, j'ai une version plus récente :roll:
Ben non, c'est normal, un hébergeur payant ne peut pas se permettre de changer "comme ça" les versions des logiciels, justement parce que ça risque de casser des choses.
Si c'est acceptable pour des hébergements "gratuits", ça ne l'est pas pour les clients qui payent :roll:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.5) Gecko/20060731 Firemarsupilami/dapper-security Firefox/1.5.0.5
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello,
calimo, et son célèbre esprit de contradiction que j'adore, a écrit a écrit :Ben non, c'est normal, un hébergeur payant ne peut pas se permettre de changer "comme ça" les versions des logiciels (...).
Je pense que le plus important dans ta remarque, qui n'est pas sans fondement, je te l'accorde, se trouve entre les deux guillemets : non, il ne peut pas se permettre de changer les versions "comme ça".

Si je me doute que passer à une version supérieure peut poser quelques problèmes en terme de conversion de tables, ce n'est peut-être pas une raison pour proposer un service payant qui peut s'avérer dépassé (certes pas à court terme, mais les choses évoluent vites dans ce domaine), surtout si, comme le pense Benoît, les deux versions ont d'importantes différences. Il peut peut-être au moins y penser ou communiquer avec ses clients sur le sujet...

Bon, admettons que dans le cas présent, les différences sont minimes et on finit par relativiser, je te l'accorde. Mais si je n'avais pas peur des trolls velus, je dirais qu'avec ce genre de raisonnement (poussé à l'extrême), on verrait encore souvent un peu partout sur le réseau de vilains GIF de 88 x 31 pixels en 256 couleurs estampillés Optimisé pour Netscape 2.0... Voire pire :wink:

Ciao,
GizMecano.net
http://gizmecano.net
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

GizMecano a écrit :Bon, admettons que dans le cas présent, les différences sont minimes et on finit par relativiser, je te l'accorde.
Parce que tu as eu de la chance. Mais il aurait très bien pu (je pense) y avoir des sites complètement cassés par le passage de MySQL 4.0 à 4.1.
Si toi tu as réussi à convertir de 4.1 à 4.0, certains sites plus ou moins "abandonnés" auraient pu ne pas vouloir payer un spécialiste pour passer de 4.0 à 4.1.

C'est le même genre de choses qui font que tu va retrouver par-ci par-là de vieux Windows NT, parce qu'il n'y a plus personne pour adapter un logiciel spécifique, etc. :wink:
GizMecano a écrit :Mais si je n'avais pas peur des trolls velus, je dirais qu'avec ce genre de raisonnement (poussé à l'extrême), on verrait encore souvent un peu partout sur le réseau de vilains GIF de 88 x 31 pixels en 256 couleurs estampillés Optimisé pour Netscape 2.0... Voire pire :wink:
Plongeons dans le troll, il y a bien des sites "optimisés pour IE6", ce qui montre que ça fait des années que la structure n'a pas été revue.

Maintenant, ils auraient effectivement pu mettre un serveur mysql41.hebergeur.net comme le disais Benoit. Le risque n'aurait été que très minime 8-)

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
GizMecano
Lézard à collerette
Messages : 416
Inscription : 02 août 2004, 20:27

Message par GizMecano »

Hello,
calimo a écrit :Mais il aurait très bien pu (je pense) y avoir des sites complètement cassés par le passage de MySQL 4.0 à 4.1.
Je veux bien te croire (en tout cas croire ce que tu penses), mais l'inverse n'aurait-il pas été possible ? Bon, j'imagine que si on propose une conversion vers la version plus ancienne, ça devrait être impossible, mais je m'interroge tout de même sur un hébergeur qui proposerait un MySQL ne supportant pas correctement l'UTF-8 par exemple...
calimo a écrit :C'est le même genre de choses qui font que tu va retrouver par-ci par-là de vieux Windows NT, parce qu'il n'y a plus personne pour adapter un logiciel spécifique, etc. :wink:
Oui, mais si tout fonctionnait ainsi, on verrait encore des voitures démarrant à la manivelle dans nos rues :)

Ce que je veux bien concevoir pour du gratuit ou pour un utilisateur personnel, j'ai dû mal à le comprendre pour des professionnels d'un domaine particulier. Tout cela corrobore le dicton selon lesquels les cordonniers sont les plus mal chaussés, on dirait...
calimo a écrit :Maintenant, ils auraient effectivement pu mettre un serveur mysql41.hebergeur.net comme le disais Benoit. Le risque n'aurait été que très minime 8-)
Oui, effectivement. Mais ils ne l'ont pas fait. D'un autre côté, je n'avais qu'à me poser la question des versions de mon côté, mais je n'y avais même pas penser (en tout cas, pas dans ce sens).

Ciao,
GizMecano.net
http://gizmecano.net
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités