MySQL: pb de "\" - Programmation
Marsh Posté le 26-11-2001 à 15:14:43
non, y a pas moyen, mais si tu travaille en php, il y a des fontion qui font cette modif exprès pour toi.
Marsh Posté le 26-11-2001 à 15:17:09
ouais, ms le pb est plus gros que ça:
1- je suis pas en pHp
2- le progiciel sur lequel je bosse doit être standard, et pouvoir bosser avec SQLServer, tt comme avec MySql, et les autres... je peux donc même pas écrire une fonction qui doublerai les '\'...
t sur à 100% qu'y a pas moyen de désactiver ce putain de truc, ou c juste que t'as jammais trouvé comment faire !?
Marsh Posté le 26-11-2001 à 15:37:53
ben non, parce que le \ est un caractère d'échappement standard de SQL, donc tu auras le même problème quelque soit la DB que tu utilises.
Marsh Posté le 26-11-2001 à 15:42:13
ha non... g jammais eu ce pb, pourtant nôtre progiciel bosse avec presque tous les serveurs de bases de données...
Marsh Posté le 26-11-2001 à 15:49:45
Citation : |
Ca c'est pour le JDBC, mais c'est la même chose pour les autres drivers d'accès aux DB. Autrement dit, c'est que ton drivers d'accès aux autres DB parse les expression avant de les envoyer à la DB, mais par pour MySQL.
Marsh Posté le 26-11-2001 à 15:58:56
gizmo a écrit a écrit :
|
ouais, surement...
pfff, c chiant ça...
Marsh Posté le 27-11-2001 à 01:18:26
Sous Oracle, l'option pour passer outre un caractère d'echappement est escape. Voici un exemple avec un like et le fameux symbol '%'.
Code :
|
Là, le like fonctionnera comme un = sur la chaîne '%toto\titi'
voilou...
Marsh Posté le 27-11-2001 à 09:59:18
Merci, mais ça à pas l'air de marcher avec mySql...
alors j'me démerde en doublant les '\'. ce qui est con, c'est que, en plus, le like interprète à son niveau encore, les '\' comme caractères spéciaux. je dois donc quadrupler les`\`... un beau bordel, pour pas grand chose !
Marsh Posté le 27-11-2001 à 10:00:40
wouatouwouatou a écrit a écrit : Sous Oracle, l'option pour passer outre un caractère d'echappement est escape. Voici un exemple avec un like et le fameux symbol '%'.
|
d'ailleur à mon avis, l'exemple que tu m'as donné devrais plutot être
Code :
|
...non !? ou alors même ça c spécifique à mySQL ?
Marsh Posté le 27-11-2001 à 11:36:46
D'après la DOC de MySql, t'as pas le choix :
http://www.mysql.com/doc/S/t/String_syntax.html
Marsh Posté le 27-11-2001 à 11:52:56
Mara's dad a écrit a écrit : D'après la DOC de MySql, t'as pas le choix : http://www.mysql.com/doc/S/t/String_syntax.html |
ouais, j'avais lu la doc... et je suis d'accord avec toi pour dire qu'on peux pas passer à côté de ça !
Et que c con... les \ c qd même pas mal utilisé...
et je persiste, y a QUE MySql qui fait chier avec ça...
Marsh Posté le 26-11-2001 à 15:11:21
Voila, avec mySql, g le pb suivant:
Quand je fais un WHERE, ce con de mySql interprète les '\' comme des séquances d'échappement (de la même façon qu'en C). ce qui fait que par exemple, si dans la colone CLE de ma table TABLES, g un champ 'c:\test'. Pour retrouver cette ligne, je devrais faire:
Select * from TABLES Where CLE = 'c:\\test'
'\\' étant la séquence d'échappement qui veux dire '\'^pour mySql
est ce qu'il y aurai pas un moyen de désactiver cette option de mySql !???