sql >> Database >  >> RDS >> Mysql

samengestelde primaire sleutel en kolom voor automatisch ophogen maar GEEN primaire sleutel

Een oplossing hiervoor is het gebruik van de ID als uw primaire sleutel, en de var1, var2, var3, year velden als een alternatieve sleutel met behulp van een UNIQUE KEY beperking

Uw tabeldefinitie ziet er dus als volgt uit:

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`) 
);

De UNIQUE KEY beperking voorkomt dubbele invoegingen van uw velden.




  1. MSSQL Reguliere expressie

  2. sql onderscheiden, krijgt 2 kolommen

  3. functie om invoer naar Mysql-database te zuiveren

  4. Hoe een gebruiker aan te maken in PostgreSQL