Mysql: установить некоторое значение из элемента

У меня есть БД У меня есть несколько значений с несколькими Id и Id, с которыми я их согласовал, например:

Id: 234 | Viaf_id: 3475903 | Имя: Артуро Росси | Имя: Росси | Фамилия: Артуро

Id: 345 | Viaf_id: 3475903 | Имя: Росси, Артуро | Имя: Артуро | Фамилия: Росси

Я хотел бы установить все эти значения с viaf_id 3475903 с именем 345. Теперь я делаю это "вручную" с помощью:

UPDATE viaf_reconcile 
SET id_creator="345", 
    Name="Rossi, Arturo",  
    FirstName="Arturo", 
    LastName="Rossi"  
WHERE `id_viaf` = '3475903'

Но это занимает у меня много раз, есть ли способ установить значения "Имя", "Имя" и "Фамилия" со значениями конкретного id_creator, где есть определенный id_viaf?

2 ответа

Вы можете присоединиться во время обновления, выполнив что-то вроде:

  UPDATE viaf_reconcile to
  JOIN viaf_reconcile from
  ON from.id_viaf = to.id_viaf
  AND to.id_viaf = '3475903'
  SET to.Name = from.Name;

Я думаю, что если вы не укажете поля "Name", "FirstName", "LastName", mysql установит старые, поэтому, я думаю, этот запрос сделает работу:

UPDATE viaf_reconcile 
SET id_creator="345"  
WHERE `id_viaf` = '3475903'

:)

Другие вопросы по тегам