Jeg har en kolonne som inneholder nettadresser (id, url):
http://www.example.com/articles/updates/43
http://www.example.com/articles/updates/866
http://www.example.com/articles/updates/323
http://www.example.com/articles/updates/seo-url
http://www.example.com/articles/updates/4?something=test
Jeg vil gjerne endre ordet "oppdateringer" til "nyheter". Er det mulig å gjøre dette med et skript?
UPDATE your_table
SET your_field = REPLACE(your_field, 'articles/updates/', 'articles/news/')
WHERE your_field LIKE '%articles/updates/%'
Nå rader som var som
http://www.example.com/articles/updates/43
vil være
http://www.example.com/articles/news/43
Ja, MySQL har en REPLACE()-funksjon:
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
Merk at det er enklere hvis du gjør det til et alias når du bruker SELECT
.
SELECT REPLACE(string_column, 'search', 'replace') as url....
Funksjonen erstatt bør fungere for deg.
REPLACE(str,from_str,to_str)
Returnerer strengen str med alle forekomster av strengen from_str erstattet med strengen to_str. REPLACE()` utfører et samsvar mellom store og små bokstaver når det søkes etter from_str.