MySQL, как оператор не работает - PullRequest
1 голос
/ 19 июня 2011

Я пытаюсь скопировать данные из одной таблицы в другую.

Вот мое утверждение:

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 Ответ

9 голосов
/ 19 июня 2011

Вы должны использовать CONCAT для этого:

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

Функция concat используется для объединения нескольких строк вместе. Причина, по которой он не работает, заключается в том, что он пытается сопоставить "http://www.amazon.com"" с "% R.linklabel%" вместо "amazon.com".

...