¿Cuál es el índice primario en MySQL

jl0x61:

Acabo de aprender cómo crear índices en MySQL y ejecutado como una consulta en MySQL Workbench se conecta a una instancia de MySQL 8.0:

use test;
create table idx (
id int not null unique,
name char(5),
primary key(id),
key(name)
);
show index from idx;

La rejilla resultado es:

# Table, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment, Visible, Expression
'idx', '0', 'PRIMARY', '1', 'id', 'A', '0', NULL, NULL, '', 'BTREE', '', '', 'YES', NULL
'idx', '0', 'id', '1', 'id', 'A', '0', NULL, NULL, '', 'BTREE', '', '', 'YES', NULL
'idx', '1', 'name', '1', 'name', 'A', '0', NULL, NULL, 'YES', 'BTREE', '', '', 'YES', NULL

Me hace confundido que hay dos índices de nombre_tecla = PRIMARAY y nombre_tecla = "id", porque ides la clave principal. ¿Cual es la diferencia entre ellos?

Barmar:

El idíndice proviene de la uniqueopción para la idcolumna. El PRIMARYíndice proviene de primary key (id).

Dado que una clave principal es siempre único, que no es necesario la uniqueopción, y entonces no va a crear el índice adicional.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=339577&siteId=1
Recomendado
Clasificación