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.