MySQLのtwitterフィードの値を置換する

twitterのRSSを取得する方法が段々使えなくなってるみたいで、たとけば http://twitter.com/statuses/user_timeline/95405735.rss のような形式では取得できなくなった。
幸いなことに、http://api.twitter.com/1/statuses/user_timeline.rss?user_id=95405735 の形式だとまだ取得できる。
MySQLのデータベースに前者の形式のURLがたくさんあって、これを後者の形式に置き換えたい。しかしMySQLには正規表現での置換ができないみたいで、だからといっていちいちスクリプトを書くのは面倒くさいのでなんとかできないか。

注:テーブルの変換は間違ったとき戻せなくなる場合があるのでコピーをとっておいたほうが良い

このやり方だと’.rss’を削除したときに2つ(141-139)違うものを変換してしまった。
ちゃんとやるならwhereで条件を絞ればいいんだろうがここではスルー

JSONP覚書

Javascriptでajaxを使った場合同一ホストにしか接続できない。jsonpは他のホストにも接続する技術。

JavascriptでJavascriptを埋め込んで、そのsrc属性に他のホストをを指定する。このときURLにcallback=関数名などとすれば、サーバ側で対応してれば本来返すjsonをその関数名で括ったものを返すので、javascript埋め込みはその関数の実行になり、その関数の引数はjsonオブジェクトになる。

普通のjson要求、以下を送るとjsonが帰ってくる。
http://api.twitter.com/1/statuses/public_timeline.json?count=3&include_entities=true

これにcallback=mycallbackをつけるとjavascriptが帰ってくる。
http://api.twitter.com/1/statuses/public_timeline.json?callback=mycallback&count=3&include_entities=true

あらかじめmycallbackを定義してからこのjsonpを実行すれば、呼ばれることになって、その引数がjavascriptオブジェクトになる。ただし404などが帰ってくると、エラー処理できないか。