Перейти к содержанию
grishka0007

Замена слова во всех таблицах MySQL

Рекомендуемые сообщения

Здравствуйте!

Скажите пожалуйста, можно ли в БД сделать такой запрос, который заменил бы во всех таблицах одно слово на другое с учетом регистра? Или, хотя-бы, без учета регистра.

Например заменить слово "Опенкарт" на "Opencart"

Я погуглил, но чет не смог разобраться.

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такого запроса не существует. Можно написать группу запросов к каждой таблице.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

выгрузить полный дамп БД

произвести массовую замену в Notepad++

сохранить и загрузить дамп обратно

 

ps: сильно желательно делать бекап и понимать структуру mysql, чтобы не накосячить с заменой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Стало любопытно, зачем менять везде?

Вот я лично не помню, чтобы слово "Opencart" было во всех таблицах.

Это одно слово- что? Атрибут, опция, значение атрибута, опции, название товара, слово в описании товара? наименование элемента интерфейса? надпись на кнопке?

Изменено пользователем jaffagold

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

jaffagold, на самом деле, всё сложнее. У меня был магазин, с определенным названием. И все было хорошо долгое время, пока недавно мне не написал правообладатель товарного знака, которым мой магазин назывался. Мы договорились в досудебном порядке урегулировать возникшую ситуацию. И мне теперь нужно убрать все упоминания его товарного знака на своем сайте. Естественно за время существования магазина, прописаться это название успело везде: в статьях, тайтлах, дескрипшнах, н1, мета тегах, описаниях товаров, категорий, и, вроде, всё.. Вот я и думаю как бы этот процесс автоматически произвести, то есть найти старое название магазина, и заменить новым. Вот такая стори

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AlexDW, Спасибо за совет. Попробую поэкспериментировать с этим способом, хотя пока не понимаю как это будет)

А может есть какие-нибудь программы для os x для работы с mySQL в которых можно это сделать, или через терминал, не знаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Slavikovna, простите, а могли бы подсказать, как такая группа запросов должна выглядеть? 

Я так понимаю, что запрос должен быть с такой структурой?

UPDATE `table` SET `column` = REPLACE( column, 'search', 'replace' ) ;

Просто я не уверен, какие именно таблицы и колонки отвечают за все те данные что мне надо заменить, а именно в статьях, тайтлах, дескрипшнах, н1, мета тегах, описаниях товаров, категорий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Заходите в phpmyadmin- Экспортируете в формате sql, открываете текстовым редактором (саблайм, нотпад) и заменяете слово. Потом назад импортируете

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

n3bo, AlexDW, так в итоге и сделал. Все прошло хорошо, спасибо вам за советы.

Открыл саблаймом, все заменил, импортировал обратно. Только одна ошибка всего вышла при импорте: в таблице address 

  ADD PRIMARY KEY (`address_id`),

  ADD KEY `customer_id` (`customer_id`);

Ответ MySQL: 

#1068 - Multiple primary key defined 

Но загуглил- вроде это не критично. К тому же, все равно оба ключа корректно импортировались и в customer id и в address id

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.