MySQL InnoDB 中可以自动递增非主键列。这可以通过在列上创建索引来实现。
在给定的示例中,要自动递增 book_comments 表中的 comment_id 列,请按照以下步骤操作:
<code class="sql">CREATE TABLE book_comments ( book_id mediumint, timestamp mediumint, user_id mediumint, vote_up smallint, vote_down smallint, comment text, comment_id mediumint, PRIMARY KEY (book_id, timestamp, user_id), INDEX id (comment_id) );</code>
添加comment_id上的INDEX启用自动递增行为,同时确保相应的索引由InnoDB维护。 id 索引名称可以根据需要自定义。
对于 book_comments_votes 表,建议使用 book_comments 中的整个主键作为外键,以强制引用完整性并避免重复。
而将 comment_id 作为主键并通过 book_id、时间戳和 user_id 上的唯一索引强制完整性在概念上是可行的,通常认为每个表都有唯一主键是最佳实践。这确保了一致且可靠的数据检索和维护。
以上是MySQL InnoDB中的非主键列可以自增吗?的详细内容。更多信息请关注PHP中文网其他相关文章!