sql >> Database teknologi >  >> RDS >> Mysql

sammensat primær nøgle og autoincrement kolonne, men IKKE primær nøgle

En løsning på dette er at bruge ID som din primære nøgle, og var1, var2, var3, year felter som en alternativ nøgle ved at bruge en UNIQUE KEY begrænsning

Så din tabeldefinition skal se sådan ud:

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

Den UNIQUE KEY begrænsning forhindrer dublerede indsættelser af dine felter.




  1. Jeg får fejl, når jeg bruger mysqli select

  2. Skrivning til specifikke skemaer med RPostgreSQL

  3. Sådan viser du databaser og tabeller i PostgreSQL ved hjælp af psql

  4. BeanCreationException:Fejl ved oprettelse af bean med navnet 'flywayInitializer'