Một giải pháp cho vấn đề này là sử dụng ID
làm khóa chính của bạn và var1, var2, var3, year
các trường làm khóa thay thế bằng cách sử dụng UNIQUE KEY
ràng buộc
Vì vậy, định nghĩa bảng của bạn sẽ giống như sau:
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
ràng buộc sẽ ngăn chặn việc chèn trùng lặp các trường của bạn.