Una solución a esto es usar el ID
como su clave principal, y el var1, var2, var3, year
campos como una clave alternativa usando una UNIQUE KEY
restricción
Entonces, la definición de su tabla se verá así:
CREATE TABLE `tbl_result` (
`ID` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT ,
`var1` DECIMAL(6,2) UNSIGNED NOT NULL ,
`var2` DECIMAL(3,2) UNSIGNED NOT NULL ,
`var3` INT(11) UNSIGNED NOT NULL ,
`year` INT(4) UNSIGNED NOT NULL ,
`result` DECIMAL(8,4) NOT NULL ,
PRIMARY KEY (`ID`),
UNIQUE KEY (`var1`, `var2`, `var3`, `year`)
);
La UNIQUE KEY
la restricción evitará inserciones duplicadas de sus campos.