加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL建表时不设置主键

发布时间:2020-12-12 02:21:32 所属栏目:MySql教程 来源:网络整理
导读:在mysql的技术文档里面有如下文字: ? ? ? ? ? If you do not define a?PRIMARY KEY?for your table,MySQL picks the first?UNIQUE?index that has only?NOT NULL?columns as the primary key and?InnoDB?uses it as the clustered index.?If there is no su

在mysql的技术文档里面有如下文字:

? ? ? ? ? If you do not define a?PRIMARY KEY?for your table,MySQL picks the first?UNIQUE?index that has only?NOT NULL?columns as the primary key and?InnoDB?uses it as the clustered index.?If there is no such index in the table,?InnoDB?internally generates a clustered index where the rows are ordered by the row ID that?InnoDB?assigns to the rows in such a table.?The row ID is a 6-byte field that increases monotonically as new rows are inserted. Thus,the rows ordered by the row ID are physically in insertion order.?

翻译一下就是:如果没有主动设置主键,就会选一个不包含NULL的第一个唯一索引列作为主键列,并把它用作一个聚集索引。如果没有这样的索引就会使用行号生成一个聚集索引,把它当做主键,这个行号6bytes,自增。可以用select _rowid from table来查询。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读