Я пытаюсь заменить некоторый текст в столбце - текст, который я подтвердил, существует. Когда я запускаю запрос:MySQL - UPDATE часть строки в столбце
SELECT Body FROM dbname.tcontent
where body like '%http://local.website.org%'
and display=1
and approved=1;
он возвращает 359 записей. Таким образом, я ожидал 359 записей, которые будут изменены, когда я выполнил этот запрос:
update dbname.tcontent
set Body = replace(Body, 'http://local.website.org', '/foldername')
where instr(Body, 'http://local.website.org') > 0
and display=1
and approved=1;
Однако запрос найдено 359 матчей, но не обновляется столбцов. Сообщение читает: «0 строк (-ов) затронуто Соответствие строк: 359 Изменено: 0 Предупреждения: 0. Я уверен, что у меня правильный SQL-код, поскольку я подтвердил его по крайней мере из трех источников. 359 «спичка» основаны на записях, соответствующих ИНЕК, и поэтому я считаю, что проблема с этой второй линией:.
set Body = replace(Body, 'http://local.website.org', '/foldername')
даже если SQL правильно я непроверенный «Безопасное обновление» в моем предпочтения только для того, чтобы быть уверенными, и все же ни одна строка не обновляется.
Я все еще думаю, что, возможно, косые черты и/или точки в тексте, который я заменяю, отключают метод замещения, несмотря на то, что я делаю то, что хочу here.
Заранее благодарим за любую помощь!
Спасибо за ваш ответ. Я должен был добавить, что я также пробовал эту инструкцию UPDATE. Тот же результат: «0 строк (-ов) затронуто Соответствие строк: 359 Изменено: 0 Предупреждения: 0« – Andy
Что делать, если вы пытаетесь обновить одну строку? Можете ли вы это сделать? – itoctopus
Я уверен, что может: UPDATE table set SiteID = 'abc', где tcontentid = 'def': «1 строка (-ы) затронута. Строки согласованы: 1 Изменено: 1 Предупреждения: 0. Хорошая мысль, однако. Еще раз спасибо за сообщение. – Andy