Nesta definição de tabela do MySQL:
CREATE TABLE groups (
ug_main_grp_id smallint NOT NULL default '0',
ug_uid smallint default NULL,
ug_grp_id smallint default NULL,
KEY (ug_main_grp_id)
);
O que significa a KEY
palavra - chave? Não é uma chave primária, não é uma chave estrangeira, então é apenas um índice? Em caso afirmativo, o que há de tão especial nesse tipo de índice criado KEY
?
Respostas:
Citando http://dev.mysql.com/doc/refman/5.1/en/create-table.html
Então
KEY
é umINDEX
;)fonte
KEY key_name (user_id), CONSTRAINT foreign_key_constraint_name FOREIGN KEY (user_id) REFERENCES auth_user (id)
, poderá especificar adicionalmente qual INDEX é usado (HASH vs BTREE). Este exemplo mostra que KEY e INDEX não são sinônimos.KEY
normalmente é sinônimo deINDEX
. O atributo-chavePRIMARY KEY
também pode ser especificado exatamenteKEY
quando fornecido em uma definição de coluna. Isso foi implementado para compatibilidade com outros sistemas de banco de dados.Ref: http://dev.mysql.com/doc/refman/5.1/en/create-table.html
fonte