14.07.2020, 23:46 | #1 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Помогите с SQL запросом replace
В базе у меня есть таблица с полями: title и message
В message есть записи вывода картинки: [ATTACH type="full"]12345[/ATTACH] Мне нужно в эту запись массово добавить alt со значением из поля title, что-бы получить такой формат картинки: [ATTACH alt="title + фото" type="full"]12345[/ATTACH] |
14.07.2020, 23:50 | #2 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,368
Сказал(а) спасибо: 24,690
Получил(а) "Спасибо": 13,506
Нарушения: 0/0 (0)
Репутация: 1158348
|
Re: Помогите с SQL запросом replace
Это вам надо смотреть как bbcode преобразуется...
А массовая замена в поле mysql это так: PHP код:
|
14.07.2020, 23:55 | #3 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Re: Помогите с SQL запросом replace
ziliboba0213, это при простом replace
а мне нужно использовать значение из поля title Я почитал доки, пишут что в таких случаях нужно использовать concat, но MySQL еще не изучал |
15.07.2020, 00:00 | #4 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,368
Сказал(а) спасибо: 24,690
Получил(а) "Спасибо": 13,506
Нарушения: 0/0 (0)
Репутация: 1158348
|
Re: Помогите с SQL запросом replace
Так title в той же таблице? А понял, не в той... Может через php проще будет перебрать тогда?
|
15.07.2020, 00:02 | #5 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Re: Помогите с SQL запросом replace
|
15.07.2020, 00:10 | #6 |
Позитив =)
Академик
Регистрация: 21.06.2020
Адрес: Санкт-Петербург
Сообщений: 4,368
Сказал(а) спасибо: 24,690
Получил(а) "Спасибо": 13,506
Нарушения: 0/0 (0)
Репутация: 1158348
|
Re: Помогите с SQL запросом replace
|
15.07.2020, 00:22 | #7 | |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Re: Помогите с SQL запросом replace
MySQL позволяет использовать значения другого поля.
Нашел в инете, но нифига не понял Цитата:
|
|
15.07.2020, 00:56 | #8 |
Junior Member
Студент
Регистрация: 12.07.2020
Сообщений: 14
Сказал(а) спасибо: 4
Получил(а) "Спасибо": 4
Нарушения: 0/0 (0)
Репутация: 5595
|
Re: Помогите с SQL запросом replace
UPDATE table SET message = REPLACE (message, '[ATTACH', CONCAT('[ATTACH alt="', title, ' + фото"'));
|
2 пользователя(ей) сказали cпасибо: |
15.07.2020, 01:27 | #9 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Re: Помогите с SQL запросом replace
дани мапов, Спасибо, проверил - работает !
У меня еще есть картинки в других таблицах, но там уже наверное через PHP скрипт позже сделаю. |
15.07.2020, 16:07 | #10 |
Senior Member
Профессор
Регистрация: 21.06.2020
Сообщений: 859
Сказал(а) спасибо: 80
Получил(а) "Спасибо": 187
Нарушения: 0/0 (0)
Репутация: 74780
|
Re: Помогите с SQL запросом replace
В этом запросе столкнулся с некоторой проблемой.
UPDATE table SET message = REPLACE (message, '[ATTACH', CONCAT('[ATTACH alt="', title, ' + фото"')); Поле title может содержать кавычки Если например в title будет такое: Форум "SEO" То результат replacе будет такой: alt="Форум "SEO" + фото" Что естественно приводит неправильному формированию alt у картинок. Как-бы вырезать эти кавычки ? |