Mysql
 sql >> Baza danych >  >> RDS >> Mysql

złożony klucz podstawowy i kolumna autoinkrementacji, ale NIE klucz podstawowy

Jednym z rozwiązań tego problemu jest użycie ID jako klucz podstawowy, a var1, var2, var3, year pola jako klucz alternatywny za pomocą UNIQUE KEY ograniczenie

Tak więc twoja definicja tabeli powinna wyglądać tak:

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 ograniczenie zapobiegnie zduplikowanym wstawieniom pól.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć nowy diagram bazy danych za pomocą środowiska pracy MySQL?

  2. Co to są zasoby nr?

  3. 5 najlepszych narzędzi GUI MySQL (bezpłatne i płatne)

  4. Jaki jest najlepszy sposób na opróżnienie tabeli MySQL z samoodniesieniami?

  5. Sformatuj liczbę do 2 miejsc po przecinku