Оновіть значення стовпця, замінивши частину рядка


325

У мене є таблиця з наступними стовпцями в базі даних MySQL

[id, url]

І URL-адреси схожі на:

 http://domain1.com/images/img1.jpg

Я хочу оновити всі URL-адреси до іншого домену

 http://domain2.com/otherfolder/img1.jpg

збереження імені файлу таким, яким він є.

Який запит потрібно запустити?


Можливий дублікат рядка MySQL замінити
Стів Чемберс

Відповіді:



162
UPDATE yourtable
SET url = REPLACE(url, 'http://domain1.com/images/', 'http://domain2.com/otherfolder/')
WHERE url LIKE ('http://domain1.com/images/%');

відповідні документи: http://dev.mysql.com/doc/refman/5.5/uk/string-functions.html#function_replace


13
Привіт там - навіщо мені де?
Гай Коен

14
@GuyCohen Тому що в іншому випадку запит буде змінювати кожен рядок таблиці. WHEREПункт оптимізує запит тільки змінювати рядки з певною URL. За логікою, результат буде однаковим, але додавання WHEREзробить операцію швидшою.
Дмитро Шевченко

3
В WHEREтакож гарантує , що ви тільки заміна частини рядків , які починаються з http://etc/etc/або , string_to_be_replaced.наприклад, в даному відповіді, http://domain1.com/images/this/is/a/testбудуть порушені, але foobar/http://domain1.com/images/не буде.
Кайл Challis


9

Потрібно пункт WHERE замінити ТІЛЬКИ записи, які відповідають умові в пункті WHERE (на відміну від усіх записів). Ви використовуєте знак %, щоб вказати частковий рядок: IE

LIKE ('...//domain1.com/images/%');

означає всі записи , які ПОЧАТИ з "...//domain1.com/images/"і мати що - або після того, як (це %для ...)

Ще один приклад:

LIKE ('%http://domain1.com/images/%')

що означає всі записи, що містять "http://domain1.com/images/"

в будь-якій частині рядка ...


7

Спробуйте це...

update [table_name] set [field_name] = 
replace([field_name],'[string_to_find]','[string_to_replace]');

1

По-перше, доведеться перевірити

ВИБІР * ВІД universityЧОГО ІМЯ курсу_КРАДИ «% & amp%»

Далі доведеться оновити

ОНОВЛЕННЯ НАУЧАЛЬНОГО НАЗАДУ НАВІДКУВАННЯ курсу_ЗНАЧЕННЯ (ЗАПІСНІ_Імена, 'І підсилювач', 'І'), де id = 1

Результати: Техніка та технології підсилювачів => Техніка та технології

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.