2015-07-31 1 views
0
I use MySQL 5.1 version 

J'ai une table MySQL 'server_info' qui a 2 colonnes de server_id 'ainsi que « server_details » dont le jeu de caractères de 'server_details' colonne a été ' latin1 ' et j'ai 100 lignes de données dans la table. Maintenant, j'ai eu une erreur lors de la mise à jour de la table avec des valeurs de chaînes spécifiques. Message d'erreur suivantMySQL CharacterSet Conversion d'une colonne aura un impact sur les valeurs existantes ou non

« Valeur de chaîne incorrecte pour server_details colonne .... »

que je réalisais cela était dû à l'autre jeu de caractères.

donc je décide de changer mon personnage « utf-8 » pour soutenir la nouvelle chaîne ainsi.

  • Si je change le jeu de caractères, les données existantes seront-elles affectées?

  • Qu'adviendra-t-il des données existantes?

  • De quoi dois-je faire attention avant de faire cette conversion ?

  • Cette conversion est-elle la bonne solution à mon problème?

Alors que je suis arrivé MySQL 5.6 version La conversion m'a donné une messgage que « 100 lignes sont affectées » Est-ce que cela signifie également les données existantes se convertit au nouveau jeu de caractères?

  • Si oui, est-ce que ce sera le même comportement que je peux attendre dans la version MySQL 5.1 également?
+0

Veuillez indiquer 'SELECT col, HEX (col) FROM ... WHERE ...' pour que nous puissions voir si le problème était pendant 'INSERTion' ou pendant' SELECTing'. Fournissez également 'SHOW CREATE TABLE'. –

Répondre

0

Si vous changez le jeu de caractères, il n'y aura aucun impact sur les valeurs existantes. Parce que lors de l'insertion, les données ont perdu (ou ne connaissent pas) certaines informations supplémentaires sur le jeu de caractères. Pour résoudre ce problème, vous devez convertir le texte manuellement.

+0

c'est plus d'un commentaire que d'une réponse, essayez d'être plus descriptif –