首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Percona修改表以允许空值

Percona修改表以允许空值
EN

Stack Overflow用户
提问于 2018-02-03 00:53:53
回答 1查看 256关注 0票数 0

如何使用percona修改表以允许空值。

代码语言:javascript
复制
pt-online-schema-change --modfiy mycolumn default null d=database, t=table

我看到了--alter,但没有修改现有列。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-03 01:46:48

首先,您不必使用pt-online-schema-change来实现这一点,因为您可以在原生SQL中做到这一点(尽管您可能有理由询问如何使用pt-online-schema-change)

对于此表:

代码语言:javascript
复制
DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
USE test;

CREATE TABLE t1 (
    id   INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(40)
) ENGINE=InnoDB;

您可以使用以下SQL:

代码语言:javascript
复制
ALTER TABLE `test`.`t1` CHANGE COLUMN name name VARCHAR(40) NULL;

但是,接下来,如果您有充分的理由使用pt-online-schema-change,例如,如果表非常大,则语法如下:

代码语言:javascript
复制
pt-online-schema-change h=127.0.0.1,P=3306,u=user,p=password,D=test,t=t1 --alter "CHANGE COLUMN name name VARCHAR(40) NULL" --execute

以下是该工具的文档https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html的链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48587393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档