###前提
DB(mySql)のある項目で正規表現一括置換を行いたいのですが正規表現のところで躓いております。
下記にsql文の土台を作成しました。
sql
1UPDATE wp_postmeta SET meta_value='http://example.jp/owners/6864/' WHERE meta_value= 'http://example.jp/owners/top/6864/' ;
###実現したいこと
現在「6824」という数字になっておりますが、この部分を正規表現にして置換をかけたいのです。つまり、
http://example.jp/owners/top/[ID]/
↓
http://example.jp/owners/[ID]/
とtopというslug名を省くためのSQL文を書きたいのですが、SQLに詳しい方どなた様かご教示いただいてもよろしいでしょうか。
========================================================
一番答えに近いと思いまして、「Kosuke_Shibuya」様の試してみました。
sql
1update wp_postmeta set meta_value = replace(meta_value, "/top/", "/") from wp_postmeta 2where meta_value REGEXP "http://example.jp/owners/top/[0-9]+";
ちなみに
sql
1SELECT * FROM `wp_postmeta` where meta_value REGEXP "http://cooperative.jp/owners/top/[0-9]+"
としたら正規表現でヒットをすることは出来ました。
どこがいけないのでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/25 04:38 編集