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

У меня есть таблица MySQL 'server_info', который имеет 2 колонки «server_id», а также «server_details» из которых набор символов 'server_details' колонка была ' latin1 ' и у меня есть 100 строк данных в таблице. Теперь я получил некоторую ошибку при обновлении таблицы с определенными строковыми значениями. Сообщение об ошибке следуетMySQL CharacterSet Преобразование столбца будет воздействовать на существующие значения или не

«Неправильное значение Строка для server_details столбцов ....»

Что я понял, что было связано с другим набором символов.

Так я решил изменить свой характер «UTF-8» поддержать новую строку, а также.

  • Если я изменил набор символов, повлияют ли существующие данные?

  • Что произойдет с существующими данными?

  • Что нужно делать, прежде чем делать это ?

  • Является ли это преобразование правильным решением для моей проблемы?

В то время как я проверил в MySQL 5.6 version Конверсия дал мне messgage, что «100 строк затронуты» Означает ли это, что существующие данные также был преобразован в новый набор символов?

  • Если да, будет ли такое же поведение я могу ожидать и в MySQL версии 5.1 ?
+0

Пожалуйста, предоставьте 'SELECT col, HEX (col) FROM ... WHERE ...', чтобы мы могли видеть, была ли проблема во время 'INSERTION' или во время' SELECTING'. Также укажите 'SHOW CREATE TABLE'. –

ответ

0

Если вы измените набор символов, это не повлияет на существующие значения. Потому что во время вставки данные потеряли (или не знают) некоторые дополнительные сведения о наборе символов. Чтобы устранить эту проблему, вам необходимо преобразовать текст вручную.

+0

Это скорее комментарий, чем ответ, попробуйте быть более наглядным –