Salut,

j'ai rencontré un problème que je n'ai pas vraiment su résoudre, mais que j'ai contourné.

En tapant cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
select *
from ref.organisme_gestionnaire as og
where 1=1
and og.code_organisme_gestionnaire in ('621')
J'ai obtenu l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ' IN '

Visiblement, la collation de ma connection est différente de celle du serveur, et c'est ce qui pose problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
show variables like 'collation%';
---------------------------------
'collation_connection', 'utf8_general_ci'
'collation_database', 'latin1_swedish_ci'
'collation_server', 'latin1_swedish_ci'
Voici la version de MySQL sur laquelle j'ai rencontré l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
show variables like 'vers%';
---------------------------------
'version', '4.1.9-max'
'version_bdb', 'Sleepycat Software: Berkeley DB 4.1.24: (January 11, 2005)'
'version_comment', 'Source distribution'
'version_compile_machine', 'i32'
'version_compile_os', 'Win95/Win98'
La seule solution que j'ai trouvé est de passer en 5.0...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
'version', '5.0.16-nt'
'version_comment', 'Official MySQL binary'
'version_compile_machine', 'ia32'
'version_compile_os', 'Win32'
Sur cette version, ma requête renvoit bien le résultat escompté.
Je précise que la version 4.1 est une petite version de développement, installée via EasyPHP, alors que la 5.0 sur laquelle j'ai testé la requête la 2ème fois est elle une version MySQL pure, car orientée production.

Si ça peut aider quelqu'un...

:p