Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql nicht eindeutiges automatisches Inkrement, Primärschlüssel zwei Felder

Was Sie wollen, ist nicht möglich. Sie wollen id und area der Primärschlüssel sein, aber in Ihrem Beispiel sind sie nicht eindeutig.

Wenn Sie einen Tabellenschlüssel definieren, muss dieser eindeutig sein und in Ihrem Beispiel würde dies bedeuten, dass Sie name enthalten müssen in Ihrem Primärschlüssel. Aber warum nicht einfach id machen den Primärschlüssel und automatisch inkrementieren? Das ist der allgemeine Sprachgebrauch.

BEARBEITEN:

Sie könnten ein zusätzliches Feld namens area_id erstellen zum Beispiel. Sie können die Auto-Increment-Funktion wie folgt zum Feld hinzufügen:

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