In the world of database management, ALTER TABLE operations are a crucial part of modifying database structures. MySQL, a popular database management system, offers online operations since version 5.6, providing a convenient way to perform these alterations without locking the table. However, there are caveats. In this blog, we’ll explore the process of altering VARCHAR columns online, delving into insights gained while expanding the size of such columns.
To kick start our journey, let’s consider a table definition that requires the expansion of a VARCHAR column named “_varchar” to accommodate more data. Here’s the original table definition:
DROP TABLE IF EXISTS varchar_alter; CREATE TABLE `varchar_alter` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `_varchar` VARCHAR(50) NOT NULL ) ENGINE=InnoDB;
We execute the initial ALTER TABLE command:
mysql> ALTER TABLE test.varchar_alter CHANGE COLUMN …[Read more]