поиск замена в базе данных

123
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#11
iccup #:
Мне надо сделать слияние 2 сайтов и проблема в том что там ID совпадают, поэтому придется менять и делать редиректы.

Задача совсем не тривиальная, если честно. Как мне видится, лучше загрузить в отдельную таблицу и там сделать UPDATE с +N на сколько нужно сделать сдвиг.

Далее уже эти новые ID через скрипт прогонять с сортировкой по ID, чтобы менял в релевантных. Руками в файле я ХЗ как это сделать, это не так то просто. Учитывая, что ещё 2 млн записей.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#12
Сергей #:
Нет так нельзя, нужно менять ',1,' на ',12345,'

А если это ID первый в списке, без первой запятой, что делать будем?

iccup
На сайте с 01.05.2016
Offline
202
#13
Сергей #:
Нет так нельзя, нужно менять ',1,' на ',12345,'

по идее можно так сделать, только предварительно во всей базе запятую поставить с начала.

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

shell> mysql -h host -u user -p < batch-file
kimsufi.com ( https://www.kimsufi.com ) очень дешевые и качественные дедики https://clck.ru/gvF9p - антибот, использую уже 3 года.
E
На сайте с 01.10.2017
Offline
115
#14
Это стандартная таблица DLE, в которой так список "похожих" хранится? 😀
Домены на продажу: https://p20.ru/collection/domains-for-sale
Сергей
На сайте с 10.07.2022
Offline
43
#15
LEOnidUKG #:

А если это ID первый в списке, без первой запятой, что делать будем?

Конкатенация с обеих сторон запятыми поля и id и потом trim

Открытый проект для юристов в Москве и Московской области https://ask.mosdok.ru сопровождение сделок, регистрация домов, оформление строительства
iccup
На сайте с 01.05.2016
Offline
202
#16
estic #:
Это стандартная таблица DLE, в которой так список "похожих" хранится? 😀
да, а что?
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#17
iccup #:
да, а что?

Ну то, что это  криво, надо было заводить отдельную таблицу, где были бы данные ID новости|ID похожей. Это было бы правильно и немного ускорило бы замену.

Но скрипт писать придётся в любом случаи.

Д
На сайте с 01.04.2012
Offline
154
#18
В DLE же есть поиск и замена в админке
VPN/SSD VPS в любой локации на выбор ( https://cp.inferno.name/cart.php ). Скидка 25% для новых заказов по промо-коду: TEAM
W1
На сайте с 22.01.2021
Offline
306
#19
Нужно вытаскивать из каждой группы идентификаторы новостей, прибавлять к ним идентификатор нулевой новости в новой БД, и формировать новый запрос из новых идентификаторов. Однако останется проблема с этими идентификаторами в других таблицах, если они там есть. 
Мой форум - https://webinfo.guru –Там я всегда на связи
Сергей
На сайте с 10.07.2022
Offline
43
#20
UPDATE `dle_post_extras` SET `related_ids` = TRIM(',' FROM      (REPLACE(CONCAT(',', related_ids, ',') , ',1,', ',4544534,')));

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий