Digamos que eu tenha uma tabela de junção para resolver muitos relacionamentos que tenho entre duas tabelas. Minha tabela de junção também tem sua própria coluna "Método" para descrever o relacionamento.
Normalmente, eu faria uma chave primária composta[a], [b] e [method] (o método precisa fazer parte do que torna uma linha única), mas meu problema é que o campo [method] pode ser NULL. Portanto, não posso adicioná-lo à chave primária.
Então o que eu fiz foi criar um índice único:
ALTER TABLE A_B ADD UNIQUE INDEX `Unique` (`a`, `b`, `method`);
A tabela não possui chave primária. Isso é uma coisa boa para fazer ou eu preciso fazer algo diferente?
Respostas:
1 para resposta № 1O uso de uma chave primária não é a única maneira de garantir a exclusividade dos registros. Existe uma restrição exclusiva que você pode implementar para realizar o que é necessário.
http://www.w3schools.com/sql/sql_unique.asp