想象一下下表:
简单的单行表。
Colname = id int(11)
+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| tablename | 0 | PRIMARY | 1 | id | A | 1719077 | NULL | NULL | | BTREE | | |
| tablename | 0 | id | 1 | id | A | 1719077 | NULL | NULL | | BTREE | | |
+---------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
这是tablename中show index的转储。
我认为这是我使用的mysql管理器中的'bug'(ems mysql manager),当你用主键创建一个表时,它会创建一个PRIMARY索引(实际索引的名称是PRIMARY)并且还会在创建表时自动生成主键 - colname索引。
可以删除其中一个吗?
谢谢!
答案 0 :(得分:2)
绝对。主键将作为索引正常运行。