Необходимо обновить выбранные записи в 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);