说明:1.《MySQL技术内幕 InnoDB存储引擎 第二版》-1.3.1节的描述为:“如果没有显式地在表定义时指定主键,InnoDB 存储引擎会为每一行生成一个6字节的ROWID,并以此作为主键”;
     2.《高性能 MySQL 第三版》-5.3.5节的描述为:“如果没有定义主键,InnoDB 会选择一个唯一的非空索引代替。如果没有这样的索引,InnoDB 会隐式定义一个主键来作为聚蔟索引“;
     3.官方说明:
     * If you do not define a PRIMARY KEY for your table, MySQL locates the first UNIQUE index where all the key columns are NOT NULL and InnoDB uses it as the clustered index.

     * If the table has no PRIMARY KEY or suitable UNIQUE index, InnoDB internally generates a hidden clustered index named GEN_CLUST_INDEX on a synthetic column containing row ID values. The rows are ordered by the 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.

《高性能 MySQL 第三版》与官方说明一致,建议以官方说明为准。