2010-07-12 3 views
1
)

IMPLICIT Lorsque j'exécute cette requêtemysql Illegal mix de (latin1_swedish_ci classements,

SELECT * FROM login_table 
WHERE username = 'sam' 
    AND pass = AES_ENCRYPT('passabc', 'mystring') 

Je continue à obtenir cette erreur.

# 1267 - mélange illégal de collations (latin1_swedish_ci, IMPLICIT) et (utf8_general_ci, Coercible) pour l'opération '='

Merci à l'avance pour toute aide

Répondre

-2

expicetly jeté à la bonne collation. google votre erreur - il ya trop de descriptions là-bas quoi faire!

ou modifier votre mot de passe champ de la table au même classement que le résultat du rendement AES_ENCRYPT (phpMyAdmin peut être utile)

+0

J'ai obtenu cette solution pour ajouter _latin1 Infront de sam 'SELECT * FROM login_table où username = _latin1'sam » ET pass = AES_ENCRYPT ('passabc', 'mystring') , mais l'utilisation de dévers _latin1 pour le champ passe comment modifier le classement du mot de passe Fiel? – Parag

+0

juste google'd "mysql changer la colonne de classement" ... premier résultat: http://dev.mysql.com/doc/refman/5.0/fr/charset-column.html où il décrit: ALTER TABLE nomtable MODIFY nomcolonne JEU DE CARACTÈRES DE DATATYPE latin1 COLLATE latin1_your_collation – santa

+2

J'ai changé le classement de "latin1_swedish_ci" en "utf8_general_ci" pour le champ de description (varchar). & cela a fonctionné merci l'autre façon est de choisir * à partir du contenu où desc comme _latin1 '% text%' – Parag

Questions connexes