Chúng tôi có một cơ sở dữ liệu được cập nhật hàng ngày vào lúc nửa đêm với cronjob, chúng tôi lấy dữ liệu mới từ một XML bên ngoài.Làm cách nào để biết liệu khi nào sử dụng "cập nhật khóa trùng lặp" một hàng đã được chèn hoặc cập nhật?
Điều chúng tôi làm là chèn tất cả nội dung mới và trong trường hợp có khóa trùng lặp, chúng tôi cập nhật trường đó.
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);
Điều chúng tôi muốn biết là hàng nào đã được chèn vào thực tế, có nghĩa là chúng tôi muốn có danh sách các mục mới. có bất kỳ truy vấn nào có thể trả về các chèn mới không? Về cơ bản, chúng tôi sẽ cần phải có được tất cả các ID mới và không phải số lượng chèn mới.
Cảm ơn
Cảm ơn Quassnoi, ý tưởng tuyệt vời, tôi đã sử dụng một cột mới có tên là udpated và áp dụng ý tưởng của bạn với cách tiếp cận khác tôi, xin vui lòng xem lại câu trả lời của bạn cho những sửa đổi tôi đã thực hiện và cho tôi một số phản hồi. Nó làm việc rất tốt nhờ. – multimediaxp