In dieser MySQL-Tabellendefinition:
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)
);
Was bedeutet das KEY
Schlüsselwort? Es ist kein Primärschlüssel, es ist kein Fremdschlüssel, also ist es nur ein Index? Wenn ja, was ist das Besondere an dieser Art von Index, mit dem erstellt wurde KEY
?
Antworten:
Zitieren von http://dev.mysql.com/doc/refman/5.1/en/create-table.html
So
KEY
ist einINDEX
;)quelle
KEY key_name (user_id), CONSTRAINT foreign_key_constraint_name FOREIGN KEY (user_id) REFERENCES auth_user (id)
möchten Sie in der Praxis möglicherweise zusätzlich angeben, welcher INDEX verwendet wird (HASH vs BTREE). Dieses Beispiel zeigt, dass KEY und INDEX keine Synonyme sind.KEY
ist normalerweise ein Synonym fürINDEX
. Das SchlüsselattributPRIMARY KEY
kann auch so angegeben werden, wieKEY
es in einer Spaltendefinition angegeben ist. Dies wurde aus Gründen der Kompatibilität mit anderen Datenbanksystemen implementiert.Ref: http://dev.mysql.com/doc/refman/5.1/en/create-table.html
quelle