Dominik Süß

fighting computers since 1999

mysql varchar online resize


CREATE TABLE `varchar_resize_test` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `url` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO varchar_resize_test (id,url) VALUES (1,"http://example.com");

select * from information_schema.COLUMNS where TABLE_NAME in ('varchar_resize_test') and COLUMN_NAME = 'url';

ALTER TABLE varchar_resize_test CHANGE COLUMN url url VARCHAR(600) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, ALGORITHM=INPLACE, LOCK=NONE;