У меня возникли проблемы с обновлением joomla от 1.0 до 1.5 (мне нужно пройти весь путь до 1.7;).Как заменить одиночный символ в больших таблицах MySQL
Во всяком случае, у моего клиента есть старая установка joomla 1.0, а сайт - это hudge и на хорватском языке. Это означает, что мне приходится иметь дело с такими персонажами, как Č, č, Ć, ć, Đ, đ ... Старая база данных находится в latin1_swedish_ci сопоставлении, и я перенес ее с помощью скрипта переноса в новую базу данных joomla 1.5, которая находится в utf8_general_ci.
Это привело (как и ожидалось), в какой-то характер путаницы, так, например: ć стал е, е -> Č и т.д. ...
Преобразование 1.0 базы данных в utf8 сортировки не вариант, т.к. он отсекает остальную часть контента на первое появление C, C, диджей, диджей и т.д. ...
Итак, что я делал это запрос:
update jos_content
set introtext = replace(introtext, 'È', 'Č');
Что это делает получить таблица содержания joomla и во всех вводных текстах заменяет È на Č.
Я сделал это за титулы, как хорошо, но когда я пытаюсь сделать это с полнотекстовым, я получаю эту ошибку:
Error
SQL query:
UPDATE jos_content SET FULLTEXT = REPLACE(introtext, 'È', 'Č') ;
MySQL said:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext = replace(introtext, 'È', 'Č')' at line 2
SO, это какое-то вопрос памяти (поскольку это полный текст в конце концов), или я просто делаю что-то неправильно. Кроме того, если есть лучший способ заменить все эти символы, пожалуйста, скажите мне, вот что я понял из MySQL «нечитаемой» документации.
отметить также ошибку копирования (?): SET \ '\' полнотекстового = ЗАМЕНИТЬ (\ 'полнотекстового \', ... –