Необходимо с помощью триггера BEFORE INSERT проверять есть ли запись с определенными параметрами и если она есть то не вставлять новую запись а обновлять найденную.
Вот набросал триггер:
SET @myVar1 = (SELECT `SESSION_START` from `radius` where `SESSION_START` = NEW.SESSION_START and `LOGIN_ID` = new.LOGIN_ID);
IF(@myVar1 IS NULL) THEN
BEGIN
Insert into `radius`(`LOGIN_ID`, `IP`, `SESSION_ID`, `SESSION_START`, `SESSION_TIMESTAMP`) values (new.LOGIN_ID, new.IP, new.SESSION_ID, new.SESSION_START, new.SESSION_TIMESTAMP);
END;
ELSE
UPDATE `radius` SET `SESSION_TIMESTAMP` = new.SESSION_TIMESTAMP WHERE `SESSION_START` = new.SESSION_START;
END IF;
При вставке данных выдает ошибку
Can't update table 'radius' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.