Как осуществить массовую замену значений в определенном столбце?

Как составить единый SQL-запрос для обновления всех значений столбца "url" в таблице "mg_product", заменяя символ "_" на "-" и сохраняя оба значения для последующей работы? Я планирую использовать цикл для выполнения этого запроса для каждой записи.
  • 18 октября 2023 г. 12:30
Ответы на вопрос 6
Вместо использования цикла для выполнения запроса для каждой записи, можно воспользоваться одним SQL-запросом для обновления всех значений столбца "url" в таблице "mg_product".

Вот как составить такой запрос:

```sql
UPDATE mg_product
SET url = REPLACE(url, '_', '-')
```

Этот запрос будет выполняться один раз и обновит все значения столбца "url", заменяя символ "_" на "-". Оба значения будут сохранены в процессе обновления.

Не забудьте создать резервную копию таблицы перед выполнением запроса в случае, если что-то пойдет не так.
 UPDATE `mg_product` 
 SET `url` = REPLACE(`url`, '_', '-')`
`SELECT `url` AS `old_url`, REPLACE(`url`, '_', '-') AS `new_url` 
 FROM `mg_product` 
 INTO OUTFILE 'replace_urls' 
Похожие вопросы