Mysql

UNIQUE(), INDEX() 與 UNIQUE INDEX() 不同嗎?

  • April 17, 2021

mysql的處理方式有什麼不同嗎

UNIQUE (column1, column2),
INDEX (column1)

UNIQUE INDEX (column1, column2)

UNIQUE (column1, column2)

在後者中,我認為mysql會自動創建索引UNIQUE以避免重複記錄。我對嗎?

UNIQUE (column1, column2)暗示UNIQUE INDEX (column1, column2)因為INDEX關鍵字是可選的。於是創建了一個索引。但是,MySQL 5.5 文件顯示INDEX(or KEY) 關鍵字是必需的,因此UNIQUE (column1, column2)應該給出錯誤

INDEX (column1, column2)並不意味著:UNIQUE INDEX (column1, column2)意味著一個允許重複對的索引(column1, column2)

第二個和第三個是等價的。

第一個類似於第三個,但除了唯一索引之外還添加了一個(非唯一)索引。這是不必要和浪費的。

引用自:https://dba.stackexchange.com/questions/15566