В этом определении таблицы 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)
);
Что означает KEY
ключевое слово? Это не первичный ключ, это не внешний ключ, так что это просто индекс? Если да, то что же такого особенного в этом типе индекса, созданного с помощью KEY
?
Ответы:
Цитата из http://dev.mysql.com/doc/refman/5.1/en/create-table.html
Так
KEY
этоINDEX
;)источник
KEY key_name (user_id), CONSTRAINT foreign_key_constraint_name FOREIGN KEY (user_id) REFERENCES auth_user (id)
вы можете дополнительно указать, какой ИНДЕКС используется (HASH против BTREE). Этот пример показывает, что KEY и INDEX не являются синонимами.KEY
обычно является синонимомINDEX
. Ключевой атрибутPRIMARY KEY
также может быть указан в том виде, в котором онKEY
указан в определении столбца. Это было реализовано для совместимости с другими системами баз данных.Ссылка: http://dev.mysql.com/doc/refman/5.1/en/create-table.html
источник