MySQL LIKE语句不起作用

时间:2011-06-19 01:33:08

标签: mysql sql sql-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.homepageurl看起来像http://www.amazon.com/R.linklabel看起来像amazon.com。所以我无法弄清楚为什么它不起作用。我没有收到任何错误,只是说有0行受影响。

1 个答案:

答案 0 :(得分:9)

您应该可以使用CONCAT执行此操作:

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

concat函数用于将多个字符串连接在一起。它无效的原因是因为它试图将“http://www.amazon.com”与“%R.linklabel%”匹配而不是“amazon.com”。