Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql não é incremento automático exclusivo, chave primária de dois campos


O que você quer não é possível. Você quer id e area para ser a chave primária, mas no seu exemplo elas não são exclusivas.

Se você definir uma chave de tabela, ela deve ser exclusiva e, no seu exemplo, isso significaria que você precisa incluir name na sua chave primária. Mas por que não fazer apenas id a chave primária e incrementá-la automaticamente? Esse é o uso comum.

EDITAR:

Você pode criar um campo extra chamado area_id por exemplo. Você pode adicionar a funcionalidade de incremento automático ao campo assim:
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`) 
);