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

12 3
iccup
На сайте с 01.05.2016
Offline
195
329
INSERT INTO `dle_post_extras` (`eid`, `news_id`, `news_read`, `allow_rate`, `rating`, `vote_num`, `votes`, `view_edit`, `disable_index`, `related_ids`, `access`, `editdate`, `editor`, `reason`, `user_id`, `disable_search`, `need_pass`) VALUES
(1, 1, 150, 1, -1, 1, 0, 0, 0, '11157,157736,7605,8160,11488,157554,3625,8447,8823,9189,147366,164743', '', 0, '', '', 0, 0, 0),
(2, 2, 183, 1, 3, 3, 0, 0, 0, '1301,1084,8053,11395,285,1480,3508,221,335,1279,5749,6863', '', 0, '', '', 0, 0, 0),
(3, 3, 304, 1, 2, 2, 0, 0, 0, '149254,135265,163387,163388,165980,163380,163382,163385,163393,163398,107236,135128', '', 0, '', '', 0, 0, 0),
(4, 4, 698, 1, 3, 3, 0, 0, 0, '101,696,860,1739,2909,3342,3689,3810,4082,4320,4355,20629', '', 0, '', '', 0, 0, 0),
(5, 5, 151, 1, 0, 0, 0, 0, 0, '1402,2943,3633,6126,6402,8441,8951,9758,10615,10619,11267,15633', '', 0, '', '', 0, 0, 0),
(6, 6, 109, 1, 0, 0, 0, 0, 0, '97421,46128,46319,130552,48430,49763,53426,59668,67554,68,725,978', '', 0, '', '', 0, 0, 0),
(7, 7, 158, 1, 0, 0, 0, 0, 0, '132468,1943,5015,6542,12474,100248,102660,9502,13330,7787,10037,10218', '', 0, '', '', 0, 0, 0),
(8, 8, 88, 1, 0, 0, 0, 0, 0, '866,6188,99940,207,1458,2416,13222,143637,156200,7599,149,7020', '', 0, '', '', 0, 0, 0),
(9, 9, 108, 1, 1, 1, 0, 0, 0, '158054,3532,134350,137475,141887,141958,46,270,1805,2556,13706,101390', '', 0, '', '', 0, 0, 0),
(10, 10, 75, 1, 0, 0, 0, 0, 0, '122814,97129,109424,12782,56695,56733,56766,62614,65083,66409,67713,68330', '', 0, '', '', 0, 0, 0);

Это записи из базы данных DLE, там где последовательность цифр - это список похожих новостей. Я хотел изменить ID новостей в базе данных, так же эти изменения должны коснуться и ID похожих новостей. Вот только ума не приложу как это сделать.

kimsufi.com ( https://www.kimsufi.com ) очень дешевые и качественные дедики https://clck.ru/gvF9p - антибот, использую уже 3 года.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1
А провернуть надо в БД запросом или в файлике?
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
iccup
На сайте с 01.05.2016
Offline
195
#2
LEOnidUKG #:
А провернуть надо в БД запросом или в файлике?
запросом вряд ли получится. там почти 2млн. строк будет. Мне достаточно будет и файлик для последующего импорта в базу данных.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3
iccup #:
запросом вряд ли получится. там почти 2млн. строк будет. Мне достаточно будет и файлик для последующего импорта в базу данных.

А что значит "поменять"? Добавить +/-N? Или как вообще поменять?

Возможно запросом как раз будет легче т.к. можно будет менять конкретные поля. 

Сергей
На сайте с 10.07.2022
Offline
41
#4
UPDATE  dle_post_extras SET related_ids=REPLACE... не походит?
А вообще id менять в базе признак дурного тона.
Юрист по недвижимости в Москве и Московской области https://pravozem.ru/ сопровождение сделок, регистрация домов, оформление строительства
iccup
На сайте с 01.05.2016
Offline
195
#5
LEOnidUKG #:

А что значит "поменять"? Добавить +/-N? Или как вообще поменять?

Возможно запросом как раз будет легче т.к. можно будет менять конкретные поля. 

ну,  допусти есть исходные данные ID -> ID (старый ID -> новый ID)

1 -> 4544534
2 -> 4353453
3 -> 5335445
4 -> 7865648
5 -> 6237845
6 -> 5786456
...
iccup
На сайте с 01.05.2016
Offline
195
#6
Сергей #:
UPDATE  dle_post_extras SET related_ids=REPLACE... не походит?
А вообще id менять в базе признак дурного тона.

Мне надо сделать слияние 2 сайтов и проблема в том что там ID совпадают, поэтому придется менять и делать редиректы.

Я смотрел в сторону использование mysql в пакетном режиме, тут вопрос

UPDATE `dle_post_extras` SET `related_ids` = replace( `related_ids` , '1', '4544534' );

но тут он поменяет все единичи что встречаются в в этом поле.

IW
На сайте с 16.12.2014
Offline
73
#7
iccup :
Я хотел изменить ID новостей в базе данных,
ИД не для этого же придумали чтобы менять если вдруг захотел) Чем вам старые не угодили?
SSD VPS скидка 25% по купону iwork https://cp.inferno.name/cart.php?gid=23 | надежный хостинг http://bit.ly/2Yiq93h
iccup
На сайте с 01.05.2016
Offline
195
#8
i-work #:
ИД не для этого же придумали чтобы менять если вдруг захотел) Чем вам старые не угодили?
Мне надо сделать слияние 2 сайтов и проблема в том что там ID совпадают, поэтому придется менять и делать редиректы.
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#9
i-work #:
ИД не для этого же придумали чтобы менять если вдруг захотел) Чем вам старые не угодили?

Это вопросы из другой области. Задача скорее всего две базы в одну соединить. 

Сергей
На сайте с 10.07.2022
Offline
41
#10
UPDATE `dle_post_extras` SET `related_ids` = replace( `related_ids` , '1', '4544534' );
Нет так нельзя, нужно менять ',1,' на ',12345,' то есть предварительная конкатенация с запятой и потом trim запятых
12 3

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