Mysql Innodb: Autoincrement klucz inny niż podstawowy

Czy jest możliwe automatyczne zwiększenie klucza innego niż podstawowy?

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)

W tej tabeli nie będzie żadnych innych indeksów. Chciałbym jednak zrobićcomment_id autoincrement kolumny, dzięki czemu mogę łatwo utworzyć kolejną tabelę:

Tabela „book_comments_votes”

comment_id  (medium_int)
user_id     (medium_int)

Primary key -> (comment_id, user_id)

Użytkownicy będą mogli głosować tylko raz na komentarz do książki. Ta tabela wymusza tę regułę za pomocą klucza podstawowego.

Pytanie:

Czy możliwe jest automatyczne zwiększanie klucza innego niż podstawowy - tak jak w przypadku automatycznego zwiększaniacomment_id kolumna w tabeli „book_comments”?

Alternatywy, dyskusja:

Chciałbym to zrobić dla uproszczenia, jak wyjaśniono powyżej. Alternatywy nie są obiecujące.

Dokonaj PK commnet_id i wymuszaj integralność za pomocą unikalnego indeksubook_id, timestamp, user_id. W tym przypadku stworzyłbym dodatkowy indeks.Trzymaj PK i zamień comment_id wbook_comments_votes z całą PK. To więcej niż trzykrotność rozmiaru stołu.

Propozycje? Myśli?

questionAnswers(3)

yourAnswerToTheQuestion