Обновление с использованием подзапроса для идентификации измененных записей - PullRequest
0 голосов
/ 26 февраля 2020

Необходимо обновить выбранные записи в MySQL таблице A, где значение поля контрольной суммы не равно. Я пытался подзапросов без успеха. Я был бы признателен за помощь с синтаксисом или предложением, если лучший способ известен. Поле «Контрольная сумма» в двух таблицах было создано с использованием MD5 и конкатенации выбранных столбцов.

Я получаю сообщение об ошибке «Невозможно указать целевую таблицу« мигрировать »для обновления в предложении FROM», когда я запускаю следующее запрос.

UPDATE migrate 
INNER JOIN people_holding 
ON migrate.Identification = people_holding.Identification
SET
  migrate.Title = people_holding.Title, 
  migrate.CompanyId = people_holding.CompanyId, 
  migrate.CompanyName = people_holding.CompanyName, 
  migrate.Processed = "Changed"
WHERE 
  migrate.Identification IN (SELECT
  people_holding.Identification
FROM people_holding
INNER JOIN migrate
  ON people_holding.Identification = migrate.Identification
WHERE people_holding.Checksum <> migrate.Checksum);
...