desc aaa; +------------------------------+---------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------------------+---------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(200) | YES | | NULL | | | number | varchar(100) | YES | MUL | NULL | |
以上MySQL desc命令的输出中,Key一列的MUL是什么意思?
ChatGPT said:
在 MySQL 的 DESC
命令输出中,Key 列表示该字段在索引中的情况:
-
PRI:该字段是 主键(Primary Key)。
-
UNI:该字段上有 唯一索引(Unique Key),列值必须唯一(但允许
NULL
)。 -
MUL:该字段上有 非唯一索引(Multiple Key),也就是说,这个字段被建立了索引,但列值可以重复。
👉 在你的例子里:
| number | varchar(100) | YES | MUL | NULL | |
表示 number
字段上有一个普通索引(可以是单独索引,也可能是复合索引的一部分),但它不是唯一索引,所以允许多个记录有相同的 number
值。