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

mysql nie unikalny automatyczny przyrost, klucz podstawowy dwa pola

To, czego chcesz, nie jest możliwe. Chcesz id i area być kluczem podstawowym, ale w twoim przykładzie nie są unikalne.

Jeśli zdefiniujesz klucz tabeli, musi on być unikalny i w twoim przykładzie oznaczałoby to, że musisz dołączyć name w kluczu podstawowym. Ale dlaczego nie zrobić po prostu id? klucz podstawowy i automatycznie go zwiększać? To jest powszechne zastosowanie.

EDYTUJ:

Możesz utworzyć dodatkowe pole o nazwie area_id na przykład. Możesz dodać funkcję automatycznego zwiększania do pola w ten sposób:

CREATE  TABLE `areas` 
(
  `id` INT NOT NULL ,
  `area_id` INT NOT NULL AUTO_INCREMENT ,
  `area` VARCHAR(100) NULL ,
  `name` VARCHAR(100) NULL ,
  PRIMARY KEY (`id`) 
);



  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 ustawić sql_mode w my.cnf w MySQL 8?

  2. WYBIERZ * Z serwera połączonego MySQL przy użyciu serwera SQL bez OpenQuery

  3. PHQL GDZIE xxx IN () może uzyskać tylko 1 dane

  4. Nie można połączyć się z MySQL 4.1+ przy użyciu starego uwierzytelniania

  5. mysqli_fetch_array błąd, nawet gdy zapytanie jest poprawne; uruchamianie całkowitego eksportu jako wartości NULL