Проблема с заменой информации в БД


BrightGuy
84
Здравствуйте, использую данный запрос:

UPDATE dle_comments SET post_id = REPLACE(post_id, «11», «12»);

Что бы перенести комментарии с одной новости в другую, в данном случаи с ID 11 на ID 12.
Но вот проблема, происходит замена не только с 11 на 12, а также 111 на 112, 2211 на 2212 и т.п., то-есть везде меняет 11 на 12.

Можно как-то уточнить в запросе что бы меняло только точное вхождение?


Pr00f
update dle_comments set post_id = 22 where post_id = 11

dma84

UPDATE dle_comments SET post_id = 12 WHERE post_id = 11;

И не надо горбатого лепить.


miketomlin

В третий раз дублировать не буду 🙂

Только скажу: «Поаккуратнее там!» Могут быть другие связи или, например, кэш для хранения кол-ва комментов в записи поста.


BrightGuy
miketomlin #:

В третий раз дублировать не буду 🙂

Только скажу: «Поаккуратнее там!» Могут быть другие связи или, например, кэш для хранения кол-ва комментов в записи поста.

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

Хотя, может подскажите как установить значение 0 в столбце comm_num с Id 111 в таблице dle_post? Объяснил конечно что сам не понял)

Добавлю скрин, что бы было понятней: https://prnt.sc/uodj6d
Заранее благодарен 

Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot

WebAlt
BrightGuy #:
Ага, есть еще количество комментариев для каждой новости в другой таблице, но с этим можно вручную справиться.

Если актуальная версия DLE 14.1, то:

Проблема с заменой информации в БД

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *