Привет требуется в одном столбце заменить подстроку на другую. Уже давно не пользовался SQL - подзабыл. В нете нашел похожее решение, но оно затрагивает только первую строку. UPDATE model SET model_name = REPLACE(model_name, 'Touring', 'Универсал'); Как его "направить" на все строки? ... пробовал дописать WHERE id > 0 - не помогло
Без условия ( WHERE ), обновит все поля. Например, UPDATE users SET name = "noname"; и у всех пользователей станет имя noname проверь запрос, может он просто не подходит где-то по условию replace
Мне не нужно заменять весь текст, а только подстроку если конкретнее, то есть колонка image в ней сейчас строки типа data/foto_name1.jpg data/foto_name2.jpg data/foto_name3.jpg... Сейчас возникла необходимость все фото перенести в новую папку data/new/ должно полуиться data/new/foto_name1.jpg data/new/foto_name2.jpg data/new/foto_name3.jpg... Составил запрос Код: UPDATE product SET image = REPLACE(image, 'data/', 'data/new/') WHERE id > 0 Заменяет только первую строку.... Могу написать на php "перебор массива с image", но хотелось бы чисто на sql.
Не то - ошибка #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id > 0' at line 2 Как я помню, когда проходил sql, то WHERE все же необходим... Код: UPDATE product SET image = REPLACE(image, 'data/', 'data/new/') выдало Затронуто 0 строк Запросы пишу в phpmyAdmin в поле SQL (для информации, может тут что не так) Разобрались, дела оказалось в кавычках... Код: UPDATE `product` SET image = REPLACE(`image`, 'data/', 'data/new/')