sql >> Databasteknik >  >> RDS >> Mysql

sammansatt primärnyckel och autoinkrementkolumn men INTE primärnyckel

En lösning på detta är att använda ID som din primära nyckel och var1, var2, var3, year fält som en alternativ nyckel genom att använda en UNIQUE KEY begränsning

Så din tabelldefinition ska se ut så här:

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 kommer att förhindra dubbletter av infogning av dina fält.




  1. Få en lista över databaspostkonton i SQL Server (T-SQL)

  2. Använder MySQL-triggers

  3. Konvertera MySQL-skript till H2

  4. WAMP-server. Mycket stor datakatalog i MySQL?