首页 > 数据库 > mysql教程 > MySQL InnoDB中的非主键列可以自增吗?

MySQL InnoDB中的非主键列可以自增吗?

Linda Hamilton
发布: 2024-10-30 10:12:32
原创
421 人浏览过

Can a Non-Primary Key Column in MySQL InnoDB be Auto-Incremented?

MySQL InnoDB 中的自动递增非主键

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板