我运行此查询:
SHOW INDEX FROM `tbl_clients`
我回复了这些:
表, NON_UNIQUE, KEY_NAME, Seq_in_index, 列名, 整理, 基数, Sub_part, 空值, INDEX_TYPE, 评论
我非常确定Key_name仅用于人类识别目的。但在我开始创建索引之前,我想确定我是正确的。
如果我是正确的,我打算将我的主键命名为PRIMARY,而不是Column_name的相同名称。
所以,我真的需要有人来验证我,或者告诉我。
答案 0 :(得分:9)
该名称仅供人使用,所以不要担心
答案 1 :(得分:0)
它将被称为主要。因此,您只能拥有一个主键。否则你是对的 - 它只是一个人类可读的名字
CREATE TABLE `foobar` (
`pk` int(11) NOT NULL,
`c` char(10) DEFAULT NULL,
PRIMARY KEY (`pk`),
KEY `k_foowoo` (`c`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
mysql> show index from foobar;
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| foobar | 0 | PRIMARY | 1 | pk | A | 0 | NULL | NULL | | BTREE | | |
| foobar | 1 | k_foowoo | 1 | c | A | 0 | NULL | NULL | YES | BTREE | | |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)