MySQL: цикл по всем записям для обновления родительской таблицы - PullRequest
2 голосов
/ 26 января 2011

У меня есть родительская таблица "user" и дочерняя таблица "profile".Для каждого профиля также существует пользователь с таким же идентификатором, но не наоборот.профили имеют имена, и теперь я добавил имя свойства также пользователям.

Я хотел бы запустить MySQL-Statements, который перебирает все профили, захватывает пользователя с тем же идентификатором и обновляет имя столбцапользователь, с именем профиля.

Как я могу это сделать?Я никогда раньше не использовал циклы в SQL-выражении ..

Ответы [ 2 ]

4 голосов
/ 26 января 2011

@ KenDowns был прав, вам не нужны циклы.Но у его заявления был небольшой недостаток.Вот правильный вариант, который сработал для меня (вам не нужен оператор from):

UPDATE user, profile
SET user.name = profile.name
WHERE profile.id = user.id
2 голосов
/ 26 января 2011

SQL основан на множестве и не требует циклов для таких вещей:

UPDATE profiles
   set name = user.name
  from user
 where profiles.userId = user.userId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...