2010-12-03 21 views
21

使用我的MySQL表中的一個,在刪除包含它的唯一索引(col0,col1,col2,col3)之前,我刪除了列col1如果我先刪除一個MySQL列而不刪除它的索引,會發生什麼?

它被MySQL自動照顧嗎?在刪除列col1後,似乎以前的唯一索引(col0,col1,col2,col3)會自動更改爲(col0,col2,col3)。

這會是一個問題,還是我必須刪除唯一索引並將其重新創建爲(col0,col2,col3)?

回答

42

根據該MySQL 5.1 Reference Manual

如果列從表中刪除, 的列也從任何 指數,它們是一個移除。如果構成索引的所有 列都是 ,那麼該索引也會被丟棄。 如果使用改變或修改,以縮短 爲其上 存在列的索引的列,並且將所得柱 長度小於索引長度, MySQL的縮短了索引 自動。

相關問題