Как узнать, была ли добавлена или обновлена строка «при обновлении дублированного ключа»?
У нас есть база данных, которая обновляется каждый день в полночь с помощью cronjob, мы получаем новые данные из внешнего XML.
То, что мы делаем, это то, что мы вставляем все новое содержимое, и в случае наличия дублированного ключа мы обновляем это поле.
INSERT INTO table (id, col1, col2, col3)
values (id_value, val1, val2, val3),
(id_value, val1, val2, val3),
(id_value, val1, val2, val3),
(id_value, val1, val2, val3),
ON DUPLICATE KEY UPDATE
col1 = VALUES (col1),
col2 = VALUES (col2),
col3 = VALUES (col3);
Что мы хотим знать, так это то, какие строки были фактически вставлены, то есть мы хотим получить список новых элементов. есть ли запрос, который может вернуть новые вставки? В основном нам необходимо получить все новые идентификаторы, а не количество новых вставок.
Спасибо