码迷,mamicode.com
首页 > 数据库 > 详细

MySQL建表时不设置主键

时间:2019-09-14 18:54:55      阅读:538      评论:0      收藏:0      [点我收藏+]

标签:where   display   行号   increase   table   cal   sql   ima   you   

在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来查询。

MySQL建表时不设置主键

标签:where   display   行号   increase   table   cal   sql   ima   you   

原文地址:https://www.cnblogs.com/kevin-lee123/p/11519585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!