2011-06-19 14 views
1

あるテーブルから別のテーブルにデータをコピーしようとしています。MySQL LIKEステートメントが機能しない

例えば
UPDATE tblMerchants T, 
     retailers R 
    SET T.linklabel = R.linklabel, 
     T.logo_image = R.logo_image, 
     T.screen_image = R.screen_image, 
     T.category = R.category, 
     T.meta_description = R.meta_description, 
     T.meta_title = R.meta_title, 
     T.meta_keywords = R.meta_keywords, 
     T.intro = R.intro, 
     T.permalink = R.permalink, 
     T.excerpt = R.excerpt, 
     T.main_link = R.main_link, 
     T.related_blog_post = R.related_blog_post, 
     T.active = R.active, 
     T.homepage_featured = R.homepage_featured 
WHERE T.homepageurl LIKE '%R.linklabel%' 

T.homepageurlhttp://www.amazon.com/ようになりますとR.linklabelamazon.com次のようになります。

は、ここに私の文です。だから私はなぜそれが動作しないのか分からない。私は何のエラーも出ていません、ただその行が影響を受けていると言っています。

+3

'%R.linklabel%'これは問題の可能性があります –

答えて

9

これを行うには、CONCATを使用することができるはずです。

WHERE T.homepageurl LIKE CONCAT('%', R.linklabel, '%'); 

concat関数が一緒に複数の文字列を連結するために使用されます。それがうまくいかない理由は、 "http://www.amazon.com"を "amazon.com"ではなく "%R.linklabel%"と一致させるためです。

+0

うわー!働いた。本当にありがとう。 – PaperChase

+0

@PaperChase - ようこそ。あなたがこのサイトを初めて知りましたので、答えを受け入れることを忘れないでください。 :) –

関連する問題