Une solution à cela consiste à utiliser l'ID
comme clé primaire, et le var1, var2, var3, year
champs comme clé alternative en utilisant une UNIQUE KEY
contrainte
Ainsi, votre définition de table ressemblera à ceci :
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
empêchera les insertions en double de vos champs.