Eine Lösung hierfür ist die Verwendung der ID als Primärschlüssel und var1, var2, var3, year Felder als alternativen Schlüssel durch Verwendung eines UNIQUE KEY Einschränkung
Ihre Tabellendefinition sollte also so aussehen:
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`)
);
Der UNIQUE KEY Einschränkung verhindert das doppelte Einfügen Ihrer Felder.