2011-01-26 35 views
2

我有一個父表「用戶」和一個子表「配置文件」。對於每個配置文件,還存在具有相同ID的用戶,但不是相反。配置文件有名稱,現在我也將屬性名稱添加到用戶。MySQL:遍歷所有條目來更新父表

我想啓動一個循環遍歷所有配置文件的MySQL語句,使用相同的ID獲取用戶,並使用配置文件的名稱更新用戶的列名稱。

我該怎麼做?我從來沒有使用循環在的SQL語句之前..

回答

4

@KenDowns是正確的,你不需要forloops。但他的發言有一個小缺陷。這是正確的,是爲我工作(你不需要一個從子句):

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

+1修復我的缺陷。我的藉口是我不使用mysql :) – 2011-01-26 04:37:40

2

SQL設置爲基礎的,並不需要的東西循環是這樣的:

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

我適應你的聲明(我想更新的用戶,而不是配置文件),但我得到了1064這裏是我的完整聲明: UPDATE rpl_user set name = rpl_profile.name from rpl_profile 其中rpl_profile.id = rpl_user.id 我錯過了什麼? – 2011-01-26 02:40:55