Mysql Innodb: автоинкремент не первичный ключ
Можно ли автоматически увеличивать не первичный ключ?
Таблица "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)
В этой таблице не будет других индексов. Тем не менее, я хотел бы сделатьcomment_id
автоинкремент столбцов, так что я могу легко создать другую таблицу:
Таблица "book_comments_votes»
comment_id (medium_int)
user_id (medium_int)
Primary key -> (comment_id, user_id)
Пользователи смогут голосовать только один раз за комментарий к книге. Эта таблица применяет это правило по первичному ключу.
Вопрос:
Можно ли автоматически увеличивать не-первичный ключ - как в случае автоматического увеличенияcomment_id
столбец в таблице "book_comments "?
Альтернативы, Обсуждение:
Я хотел бы сделать это для простоты, как описано выше. Альтернативы не обещают.
Создайте PK commnet_id и обеспечьте целостность с помощью уникального индекса наbook_id, timestamp, user_id
, В этом случае я бы создал дополнительный индекс.Сохраните PK и замените comment_id вbook_comments_votes
со всей ПК. Это более чем утроит размер таблицы.Предложения? Мысли?