Mysql Innodb: Chave não primária de incremento automático
É possível incrementar automaticamente uma chave não primária?
Tabela "book_comments"
book_id medium_int
timestamp medium_int
user_id medium_int
vote_up small_int
vote_down small_int
comment text
comment_id medium_int
Primary key -> (book_id, timestamp, user_id)
Não haverá outros índices nesta tabela. No entanto, eu gostaria de fazer ocomment_id
autoincremento de coluna para que eu possa criar facilmente outra tabela:
Tabela "book_comments_votes"
comment_id (medium_int)
user_id (medium_int)
Primary key -> (comment_id, user_id)
Os usuários poderiam votar apenas uma vez por comentário de livro. Esta tabela aplica essa regra pela chave primária.
Questão:
É possível incrementar automaticamente uma chave não primária - como em incrementar automaticamente ocomment_id
coluna na tabela "book_comments"?
Alternativas, Discussão:
Eu gostaria de fazer isso pela simplicidade, como explicado acima. As alternativas não são promissoras.
Faça o commnet_id PK e garanta a integridade através de um índice exclusivobook_id, timestamp, user_id
. Nesse caso, criaria um índice adicional.Mantenha o PK e substitua o comment_id nobook_comments_votes
com todo o PK. Isso mais que triplicaria o tamanho da tabela.Sugestões? Pensamentos?