Did you try writing a SQL query that has an if statement in it? We using this style in our DB (MSSQL) to avoid duplicate entries while updating existing entries.
IF EXISTS(SELECT ArrayID FROM TGMS_LookupBuilding WHERE ArrayID=?)
BEGIN
UPDATE TGMS_LookupBuilding SET Name=? WHEREArrayID=?
END
ELSE
BEGIN
INSERT INTO TGMS_LookupBuilding(Name, ArrayID) VALUES(?, ?)
END