Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql pas unique incrémentation automatique, clé primaire deux champs

Ce que vous voulez n'est pas possible. Vous voulez id et area être la clé primaire mais dans votre exemple, ils ne sont pas uniques.

Si vous définissez une clé de table, elle doit être unique et dans votre exemple, cela signifierait que vous devez inclure name dans votre clé primaire. Mais pourquoi ne pas faire juste id la clé primaire et l'incrémenter automatiquement ? C'est l'usage courant.

MODIF :

Vous pouvez créer un champ supplémentaire appelé area_id par exemple. Vous pouvez ajouter la fonctionnalité d'auto-incrémentation au champ comme ceci :

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