Illégale mélange de classements dans mySQL
J'ai besoin de transférer une colonne d'une table à l'autre. La table source a un classement différent que la table cible (latin1_general_ci et latin1_swedish_ci).
- Je utiliser
UPDATE target
LEFT JOIN source ON target.artnr = source.artnr
SET target.barcode = source.barcode
- Je obtenir un "illégal mélange de classements".
Ce qui est une solution rapide pour obtenir ce travail sans avoir à changer de table? J'ai essayé de CONVERTIR et ASSEMBLER pour exécuter l'ensemble de l'opération en UTF-8, mais cela n'a pas aidé. "code à barres" contient des données numériques uniquement (même si elles sont toutes VARCHARs), donc il n'y a pas de classement de soucis de toute façon. J'ai besoin de le faire qu'une fois.
Edit: j'ai trié à l'aide d'un
CAST(fieldname as unsigned)
sur tous les domaines concernés. J'ai été en mesure de le faire dans ce cas car uniquement les données numériques a été touché, mais il serait bon de savoir une approche plus générale, je suis en laissant la question ouverte.
OriginalL'auteur Pekka 웃 | 2010-02-24
Vous devez vous connecter pour publier un commentaire.
Il m'énerve, donc, aujourd'hui, j'ai créé les tables et a rencontré le succès avec celui-ci:
OriginalL'auteur dev-null-dweller
Comment rejoindre sur sélectionner avec seulement 2 numérique colonnes?
Vérifier mes mises à jour de réponse, la seule chose qui a changé est d'ajouter de classement dans la sous-sélection pour chaque colonne (et alias bon alias)
OriginalL'auteur dev-null-dweller