MySQL Innodb: Autoincrement Nicht-Primärschlüssel

Ist es möglich, einen Nicht-Primärschlüssel automatisch zu inkrementieren?

Tabelle "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)

Für diese Tabelle sind keine weiteren Indizes vorhanden. Allerdings möchte ich das machencomment_id Automatische Inkrementierung der Spalten, damit ich problemlos eine weitere Tabelle erstellen kann:

Tabelle "book_comments_votes"

comment_id  (medium_int)
user_id     (medium_int)

Primary key -> (comment_id, user_id)

Benutzer können nur einmal pro Buchkommentar abstimmen. Diese Tabelle erzwingt diese Regel durch den Primärschlüssel.

Frage:

Ist es möglich, einen Nicht-Primärschlüssel automatisch zu inkrementieren?comment_id Spalte in der Tabelle "book_comments"?

Alternativen, Diskussion:

Ich möchte dies der Einfachheit halber tun, wie oben erläutert. Die Alternativen sind nicht vielversprechend.

Machen Sie die commnet_id PK und erzwingen Sie die Integrität durch einen eindeutigen Index aufbook_id, timestamp, user_id. In diesem Fall würde ich einen zusätzlichen Index erstellen.Behalten Sie die PK bei und ersetzen Sie die comment_id in derbook_comments_votes mit der gesamten PK. Dies würde die Größe des Tisches mehr als verdreifachen.

Vorschläge? Gedanken?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage