When changing a MySQL table or column to a new character set that uses more bytes than the old character set, you need to first check if any schema changes are needed to accomodate the change. For example, changing character sets from latin1 to utf8 is an increase from 1 to 3 bytes, and changing from utf8 to utf8mb4 is an increase from 3 to 4 bytes. The MySQL reference manual has a helpful page with some details on this, but I want to add some examples to show how this schema prep can be accomplished.
There are three different types of length limits to take into consideration:
- Index
- Column
- Row
In this post I will focus on index length limits, and I'll save columns and rows for future posts. Read on for details.
Index Length Limits
The specific limits depend on …
[Read more]