是否可以创建没有主键的 InnoDB 表?
由于 InnoDB 表的结构是围绕 PK 的聚集索引,那么没有 PK 的表的结构是什么?该表是否仍然是聚集索引,但围绕辅助键?
谢谢。
是否可以创建没有主键的 InnoDB 表?
由于 InnoDB 表的结构是围绕 PK 的聚集索引,那么没有 PK 的表的结构是什么?该表是否仍然是聚集索引,但围绕辅助键?
谢谢。
http://www.sqlinfo.net/mysqldocs/v50/storage-engines.html#innodb-table-and-index
如果你没有为你的表定义 PRIMARY KEY,MySQL 选择第一个只有 NOT NULL 列的唯一索引作为主键,InnoDB 使用它作为聚集索引。如果表中没有这样的索引,InnoDB 会在内部生成一个聚集索引,其中行按InnoDB 分配给此类表中的行的行 ID 排序。行 ID 是一个 6 字节的字段,随着新行的插入而单调增加。因此,按行 ID 排序的行在物理上是按插入顺序排列的。