Вы можете легко использовать следующий способ:
INSERT INTO ... ON DUPLICATE KEY UPDATE ...
Таким образом, вы можете вставить любое новое необработанное и если у вас есть повторяющиеся данные, замените определенный столбец (лучшие столбцы - это отметки времени). Например:
CREATE TABLE IF NOT EXISTS Devices (
id INT(6) NOT NULL AUTO_INCREMENT,
unique_id VARCHAR(100) NOT NULL PRIMARY KEY,
created_at VARCHAR(100) NOT NULL,
UNIQUE KEY unique_id (unique_id),
UNIQUE KEY id (id)
)
CHARACTER SET utf8
COLLATE utf8_unicode_ci;
INSERT INTO Devices(unique_id, time)
VALUES('$device_id', '$current_time')
ON DUPLICATE KEY UPDATE time = '$current_time';