Illégale mélange de classements d'erreur dans la requête mysql
Est-il possible de comparer le générés gamme de colonne dans la requête mysql ?
SELECT ue.bundle,ue.timestamp,b.id,bv.id as bundleVersionId,bv.start_date,bv.end_date, bv.type,ue.type from (
SELECT bundle,timestamp,tenant, case when Document_Id ='' then 'potrait'
WHEN Document_Id<>'' then 'persisted' end as type from uds_expanded ) ue
JOIN bundle b on b.name=ue.bundle join bundle_version bv on b.id=bv.bundle_id
WHERE ue.tenant='02306' and ue.timestamp >= bv.start_date and ue.timestamp <=bv.end_date and **ue.type=bv.type ;**
Je reçois le message d'erreur suivant lorsque j'essaie de comparer les types
Error Code: 1267. Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation '=' 0.000 sec
OriginalL'auteur Sandeep Rao | 2013-10-28
Vous devez vous connecter pour publier un commentaire.
En tenir à un codage et un classement pour l'ensemble de votre système. Maintenant vous semblent utiliser UTF8 un seul endroit et latin1 dans un autre endroit. Convertir le dernier à utiliser UTF8 et ainsi vous serez bon.
Vous pouvez modifier le classement de l'utf-8 à l'aide de
OriginalL'auteur kba
Je pense que, parfois, le problème est que nous utilisons différentes orm utilitaires pour générer la table, puis nous voulons tester des requêtes soit par ligne de commande de mysql ou MySql workbench, alors ce problème est dû à des différences de tableau de classement et de la ligne de commande ou de l'application que nous utilisons. moyen simple est de définir vos variables (celles utilisées pour tester la requête à l'encontre des colonnes de la table)
ex:
plus de détails
OriginalL'auteur Tekz
Être conscient que le seul colonnes peuvent avoir leur classement.
Par exemple, la Doctrine génère des colonnes de type VARCHAR comme
CHARACTER SET utf8 COLLATE utf8_unicode_ci
, et en modifiant le tableau de classement doesen " affecter la seule colonnes.Vous pouvez modifier la colonne du classement avec cette commande:
ou dans MySql Workbench interface-> clic droit sur le tableau-> Alter Table, puis dans l'interface, cliquez sur une colonne et modifier.
OriginalL'auteur T30
Utilisation ascii_bin dans la mesure du possible, il va correspondre avec presque n'importe quel classement.
OriginalL'auteur Kjeld Flarup