Mysql : script avec tables en majuscules --> tables crées en minuscule - SQL/NoSQL - Programmation
Marsh Posté le 26-06-2007 à 14:49:52
tu forces rien du tout, le respect de la casse ne fait pas partie de la norme sql.
Marsh Posté le 26-06-2007 à 14:50:36
ReplyMarsh Posté le 26-06-2007 à 15:04:45
MagicBuzz a écrit : ps : et t'es au courant que mysql on en est à la version 5.x ? |
et t'es au courant que c'est bien aussi de respecter les spécifications technique exigées par le client ?
treve de plaisanteries : avec Mysql 5 le probleme se poserait plus ?
Citation : tu forces rien du tout, le respect de la casse ne fait pas partie de la norme sql. |
oui mais alors pourquoi sous Win ca change la casse et pas sous Linux ?
Par ailleurs si je lance un script de migration de données, Mysql fait la différence sur la casse
Marsh Posté le 26-06-2007 à 15:08:11
parceque linux est case sensitive. et que windows ne l'est pas.
dans tous les cas, que ta table s'appelle "matable", "MATABLE", "MaTable", "MaTaBlE" ou je ne sais quelle combinaison minuscules-majuscules, ça doit RIEN changer au niveau du nommage dans ton code.
"select * from matable" == "select * from MATABLE"
donc tu te bas les couilles de savoir si c'est en minuscules ou en majuscules. et c'est loin d'être un problème.
sinon, les spécifications techniques du client, je veux bien. m'enfin là t'as un devoir de conseil aussi je crois. MSDOS 5.0 est un très bon os très stable. spa pour autant que je vais le déployer chez un client "juste parcequ'il me le demande".
(d'autant que mysql 3 est une bouse infâme, qui ne supporte pas les sous-requête, très mal les jointures complexes, etc.)
Marsh Posté le 26-06-2007 à 15:34:45
lool le prend pas mal Magicbuzz, c t pour plaisanter
Concernant Mysql 3, je suis completement d'accord. J'aime pas du tout bosser avec.
Il est vraiment obsolete, et de ce que j'ai pu voir :
- il plante dès qu'il a affaire a un paquet de requetes un peu trop gros
- les jointures multiples ca lui plait pas trop
- il faut coder les sous-requetes en PHP alors que c'est une tache inhérente a SQL te qu'il sait très bien le faire (mais pas le moteur Mysql c con !)
mais il se trouve que je bosse sur un projet qui a débuté ya 4 ans (donc pas de V5 a l'epoque)
et que c pas maintenant qu'on va revoir les aspects techniques et leurs impacts
sachant qu'en plus le projet va pas tarder a etre livré.
Mais c'est sur que si un jour un client me demande mon avis pour une version de Mysql
il est clair que je lui connseillerai un Mysql 5.x
j'ai deja bossé sur une V5, et c t carrément mieux. surtout qu'il gere correctement les dépendances fonctionnelles, etc...
ce qui est censé etre normal pour tout SGBD digne.
Marsh Posté le 26-06-2007 à 16:21:14
ceci dit, tu pourras quand même tester dans ton coin, mais logiquement, tu colles ta base sur une 5 ça tourne du premier coup sans problème. à moins que vous vous soyez lancés dans des trucs supers spécifiques à mysql et qui ont été abandonnés depuis, y'a pas de problème.
(d'où l'importance de bien respecter la norme sql avant de chercher les bidouilles non standard, genre les noms de table case-sensitive )
Marsh Posté le 26-06-2007 à 16:26:09
a priori ca poserait pas de probleme de migrer de V3 a V5 pour cette application-ci
Mais vis a vis du client et de son SI ca pourrait pas du tout le faire
car l'application sera installée sur un serveur chez eux qui heberge d'autres applis qui tournent sous Mysql V3, et toutes leurs bases tournent sur la meme instance Mysql.
Donc a éviter !
Marsh Posté le 26-06-2007 à 12:11:33
sur Mysql 3 sous Windows XP
je lance un script SQL qui crée des tables
toutes les tables et champs crés sont en minuscules alors que dans le script ils sont tous en majuscules
Si je fais pareil sous Linux, la casse est bien respectée
comment je peux forcer le respect de la casse sous Windows ?