Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lokaodomau

Se eu não especificar o CONSTRAINT, ele funciona igual?

Recommended Posts

Minha dúvida é porque eu não tenho costume de criar CONSTRAINT, pensei que só era utilizado em FK, mas fui pesquisar e vi que ele é aplicado também na PK, UNIQUE e NOT NULL, por isso a dúvida, se eu não especificar, ele funciona?

 

Quais as consequências de não especificar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não especificando a constraint há o risco de uma quebra de integridade , por exemplo

 

Clientes com códigos iguais PK

Clientes com o mesmo CPF Unique

Pedidos sem clientes vínculados FK

 

Ajudou ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não ajudou :unsure:

 

Quero dizer, eu crio a tabela com a PK, UNIQUE INDEX, FK e NOT NULL, só o que não faço é usar a palavra CONSTRAINT (não tenho experiência com CONSTRAINT).

 

Por exemplo:

Create table tabelaTeste (
  id int unsigned auto_increment,
  primary key (id)
);

create table parentTeste (
  id int unsigned auto_increment,
  parentId int unsigned not null,
  primary key (id),
  foreign key fkParentId (parentId) references tabelaTeste (id)
    on delete restrict on update restrict
);

Crio as tabelas desta forma, e nunca tive problema, por isso não sei se dá problema ou não...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.