MySQL建表时不设置主键

在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 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. 

sql

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

相关文章
相关标签/搜索