修改Varchar 的大小的时候。不用锁表,就可以进行操作DDL。这个还得具体查看版本,还有具体情况。下来我们来看一下INnoDB中的Online DDL各个操作请求。
ALTER TABLE tbl_name CHANGE COLUMN c1 c1 VARCHAR(255), ALGORITHM=INPLACE, LOCK=NONE;
ALTER TABLE tbl_name ALGORITHM=INPLACE, CHANGE COLUMN c1 c1 VARCHAR(256);
ERROR 0A000: ALGORITHM=INPLACE is not supported. Reason: Cannot change
column type INPLACE. Try ALGORITHM=COPY.
注意
一个的字节长度VARCHAR列是依赖于字符集的字节长度
。