排除 MySQL 的 BLOB/TEXT 鍵規格錯誤
在包含 BLOB 或 TEXT 欄位的 MySQL 表上定義主鍵或索引通常會導致下列錯誤:
<code>BLOB/TEXT column 'message_id' used in key specification without a key length</code>
出現此錯誤是因為 MySQL 索引需要固定長度的資料型別。 BLOB 和 TEXT 列是可變長度的,因此需要指定鍵長度來決定索引大小。 但是,不支援直接為 BLOB/TEXT 指定密鑰長度。
解決策略:
有幾種方法可以解決此限制:
進一步考慮:
即使沒有直接涉及 BLOB/TEXT 列,「沒有密鑰長度的密鑰規範」錯誤也可能出現。 當 VARCHAR 鍵的長度超過 255 個字元時,會發生這種情況,觸發到 SMALLTEXT 的隱式轉換。
為避免這種情況,請確保鍵中使用的所有 VARCHAR 欄位的最大長度都低於 255 個字元。
以上是如何解決 MySQL 的「金鑰規範中使用的 BLOB/TEXT 資料列沒有金鑰長度」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!