Je souhaite récupérer les bases situées sur le serveur du site pour les transférer dans mon serveur interne. Problème, sur le serveur externe quelques tables possèdent le même nom avec pour seule différence les lettres en majuscules ou minuscules.
Lors de l'importation ça bloque. Comment résoudre ce problème
Unix (Linux) est sensible à la casse alors que Windows ne l'est pas, tout du moins pour le nom des tables puisque celles-ci sont sous forme de fichier. Le seul moyen est de renommer les tables dans le fichier SQL avant importation.
Nota : Entre-nous, même en étant sous Unix, il faut être un peu con pour différentier des tables uniquement par la casse ; c'est la porte ouverte à des erreurs génératrices de nuits blanches pour les trouver.
"Nota : Entre-nous, même en étant sous Unix, il faut être un peu con pour différentier des tables uniquement par la casse ; c'est la porte ouverte à des erreurs génératrices de nuits blanches pour les trouver"
Pour info les tables sont générées par les membres du site. Le serveur aurait du lui refuser la création de ces tables.!!!
C'est au script de création des bases de faire ce travail et non à mysql. Car vu que sous unix c'est faisable, il n'y a pas de raison que la restriction vienne de mysql.
De plus il est très simple de convertir une chaine de caractère pour qu'elle serve de nom valide pour une base de donnée.
Tout à fait d'accord c'est bien à PHP de faire ça, sauf que ça n'a pas été fait au départ. Et maintenant, à moins de modifier les noms des tables, ce qui est impossible pour des raisons autres qu'informatiques. Je fais comment ?
michel71 a écrit: ------------------------------------------------------- > Tout à fait d'accord c'est bien à PHP de faire ça, sauf que ça n'a pas été fait au départ. Et maintenant, à moins de modifier les noms des tables, ce qui est impossible pour des raisons autres qu'informatiques. Je fais comment ?
Vous n'avez aucun moyen pour rendre Windows sensible à la casse des noms de fichiers. Vous installez une distrib Linux et vous travaillez sous ce système d'exploitation. À part taper sur la tête du concepteur, vous n'avez aucun autre moyen, sous Windows, que de renommer les tables en litige.