Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: krlsedu em 21 de Junho de 2010, 20:43
-
olá, procurei algo sobre campos unicos compostos, mas não achei nada a principio.
O que preciso seria algo do tipo:
em uma tabela tenho três campos que em conjunto nao podem repetir ex.:
1º registro
nome_turma: "5ª série a"
ano: "2010"
turno: "manhã"
segundo: (deveria ser liberado)
nome_turma: "5ª série b"
ano: "2010"
turno: "manhã"
terceiro (deveria ser bloqueado)
nome_turma: "5ª série a"
ano: "2010"
turno: "manhã"
resumindo o conjunto: nome_turma, ano e turno. são unicos não cada campo individual!
tem como fazer em mysql, ou deveria ser outro banco!
-
depoid de perguntar achei em um material em ingles, naso sabia bem como procurar, mas acabei achando:
para alterar
ALTER TABLE tabela
ADD CONSTRAINT nome_do_inedx_unico UNIQUE (campo1,...,campoN)
ou simplesmente adicionar enquanto cria a tabela
CREATE TABLE tabelax
(
campo1,
...
campoN,
CONSTRAINT nome_do_inedx_unico UNIQUE (campo1,...,campoN)
)
Fonte: http://www.w3schools.com/sql/sql_unique.asp
editado para corrigir enqaunto cria tabela