MySQL InnoDB:自动递增非主键
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
可以自动递增非主键吗?
是的,可以自动递增非主键。不过,需要在要自增的列上创建索引。
推荐方案
尽管非主键有自增的可能性,但推荐方案解决方案是将“comment_id”作为主键,并在“book_id”、“timestamp”和“user_id”的组合上创建唯一索引,以确保数据完整性。
其他注意事项
问题中提到的替代建议有缺点:
因此,最有效、最稳健的解决方案是遵循推荐的方法,使用“comment_id”作为主键,并在“book_id”、“timestamp”和“user_id”上创建唯一索引。
以上是MySQL InnoDB如何实现非主键自增?的详细内容。更多信息请关注PHP中文网其他相关文章!