W tej definicji tabeli 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)
);
Co oznacza KEY
słowo kluczowe? To nie jest klucz podstawowy, nie jest to klucz obcy, więc czy to tylko indeks? Jeśli tak, co jest takiego specjalnego w tego typu indeksach tworzonych za pomocą KEY
?
Odpowiedzi:
Cytując z http://dev.mysql.com/doc/refman/5.1/en/create-table.html
Więc
KEY
jestINDEX
;)źródło
KEY key_name (user_id), CONSTRAINT foreign_key_constraint_name FOREIGN KEY (user_id) REFERENCES auth_user (id)
możesz dodatkowo określić, jaki INDEKS jest używany (HASH vs BTREE). Ten przykład pokazuje, że KEY i INDEX nie są synonimami.KEY
jest zwykle synonimemINDEX
. Atrybut kluczaPRIMARY KEY
można również określić tak samo, jak wKEY
przypadku podania w definicji kolumny. Zostało to zaimplementowane w celu zapewnienia zgodności z innymi systemami baz danych.Ref: http://dev.mysql.com/doc/refman/5.1/en/create-table.html
źródło