MySQL:遍历所有条目以更新父表

时间:2011-01-26 02:30:36

标签: mysql loops

我有一个父表“user”和一个子表“profile”。对于每个配置文件,还存在具有相同ID的用户,但不是相反的用户。配置文件有名称,现在我也将属性名称添加到用户。

我想发出一个遍历所有配置文件的MySQL语句,用相同的ID抓取用户,并使用配置文件的名称更新用户的列名。

我该怎么做?我之前从未在SQL语句中使用过循环。

2 个答案:

答案 0 :(得分:4)

@KenDowns是对的,你不需要循环。但他的陈述有一个小缺陷。这是正确的,对我有用(你不需要一个from-clause):

UPDATE user, profile
SET user.name = profile.name
WHERE profile.id = user.id

答案 1 :(得分:2)

SQL是基于集合的,不需要像这样的循环:

UPDATE profiles
   set name = user.name
  from user
 where profiles.userId = user.userId