Mysql查找,两个表之间的更新

时间:2012-11-16 23:32:54

标签: mysql

难以获得正确的mysql查找,然后更新这些记录。我对两个独立表的概念有困难。基本上我可以成功地在一个表中找到记录:

  SELECT email,id  
  FROM  `phplist_user_user` 
  WHERE  `email` LIKE  '%gmail%'
  LIMIT 0 , 30

然后分开:

  SELECT userid, value FROM `phplist_user_user_attribute`

现在我无法弄清楚如何将'phplist_user_user_attribute'中的值更新为“gmail.com”以查找在第一个查询中找到的所有记录。

2 个答案:

答案 0 :(得分:0)

UPDATE phplist_user_user u
JOIN phplist_user_user_attribute a ON u.id = a.userid
SET a.value = 'gmail.com'
WHERE u.email LIKE '%gmail%'

答案 1 :(得分:0)

好吧显然你看起来不能直接更新phplist_user_user_attribute表。

你可以做的是使用嵌套查询..即 就像是 //这只是一种方法......

Update phplist_user_user_attribute
SET your_value = 'foo'
where your_value IN (SELECT your_value  
                     FROM  `phplist_user_user` 
                     WHERE  `email` LIKE  '%gmail%'
                     LIMIT 0 , 30);