У меня есть две таблицы, одна называется "licensesbkp", другая называется "licensesorig". Если предоставленные лицензионные ключи (от 1 до 5) находятся в таблице licensesorig, скопируйте все столбцы в licensesbkp. Поскольку я не знаю, существует ли уже строка в licensesbkp, мне нужно добавить оператор «вставьте, если не существует, еще обновите». Это то, что я пытаюсь с ON DUPLICATE KEY UPDATE.
В настоящее время я получаю MySQL Ошибка # 1064.
INSERT INTO licensesbkp
(uid, order_id, product_id, license_key, hash, expires_at, valid_for, source, status,
times_activated, times_activated_max, created_at, created_by, updated_at, updated_by)
SELECT '1234567', order_id, product_id, license_key, hash, expires_at, valid_for, source, status, times_activated,
times_activated_max, created_at, created_by, updated_at, updated_by
FROM licensesorig
ON DUPLICATE KEY UPDATE licensesbkp, licensesorig SET licensesbkp.order_id = licensesorig.order_id,
licensesbkp.product_id = licensesorig.product_id, licensesbkp.license_key = licensesorig.license_key,
licensesbkp.hash = licensesorig.hash, licensesbkp.expires_at = licensesorig.expires_at,
licensesbkp.valid_for = licensesorig.valid_for, licensesbkp.source = licensesorig.source,
licensesbkp.status = licensesorig.status, licensesbkp.times_activated = licensesorig.times_activated,
licensesbkp.times_activated_max = licensesorig.times_activated_max, licensesbkp.created_at =
licensesorig.created_at, licensesbkp.created_by = licensesorig.created_by, licensesbkp.updated_at =
licensesorig.updated_at, licensesbkp.updated_by = licensesorig.updated_by
WHERE licensesorig.license_key
IN ('licensekey1', 'licensekey2', 'licensekey3', 'licensekey4', 'licensekey5')