Jednym z rozwiązań tego problemu jest użycie ID
jako klucz podstawowy, a var1, var2, var3, year
pola jako klucz alternatywny za pomocą UNIQUE KEY
ograniczenie
Tak więc twoja definicja tabeli powinna wyglądać tak:
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`)
);
UNIQUE KEY
ograniczenie zapobiegnie zduplikowanym wstawieniom pól.