考慮下表:多列主鍵的MySQL KEY值(在desc表中)是什麼?
create table t (
n1 int, n2 int, index (n1, n2),
u1 int, u2 int, unique index (u1, u2));
按照SHOW COLUMNS documentation我期待Key = UNI
爲u1
因爲
如果重點是UNI,該列是UNIQUE索引的第一列。 (一個UNIQUE索引允許有多個NULL值,但你可以通過檢查Null字段來判斷該列是否允許NULL)。
我在想什麼?
。
的desc t;
輸出(沒有列Default
和Extra
)
Field Type Null Key Default Extra n1 int(11) YES MUL n2 int(11) YES u1 int(11) YES MUL u2 int(11) YES
。
的show index from t;
輸出(不含一些無關痛癢的列)
Table Non_unique Key_name Seq_in_index Column_name Cardinality t 0 u1 1 u1 0 t 0 u1 2 u2 0 t 1 n1 1 n1 0 t 1 n1 2 n2 0
我認爲你的答案就在這裏:http://stackoverflow.com/questions/5317889/sql-keys-mul-vs-pri – maqjav