Uma solução para isso é usar o
ID
como sua chave primária e o var1, var2, var3, year
campos como uma chave alternativa usando uma UNIQUE KEY
restrição Então, sua definição de tabela deve ficar assim:
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`)
);
A
UNIQUE KEY
restrição impedirá inserções duplicadas de seus campos.