1

如何用 mysql-cli 做到这一点?table comment例如foo下面的意思:

create table t (c1 int) comment='foo';
4

3 回答 3

2

你可以使用 mysql> alter table t comment='f1';
mysql>提交;

于 2021-11-19T13:23:16.347 回答
0

检查这是否回答了您的问题。堆栈溢出

谢谢。@何塞洛拉

于 2021-11-19T13:23:33.963 回答
0

编辑:事实证明,有一个alter允许更改table评论的声明。正如 Dogs Cute 指出的那样,这个命令实际上有效:

alter table t comment='f1';

下面我们看到了一种可以在无法使用 alter 执行更改的情况下更改表定义的方法。它被应用于评论更改,但是,正如 Dogs Cute 所指出的,这对于这种情况是不必要的,但它可能对其他一些情况有用。

据我所知,通过改变是不可能实现的。相反,我会执行以下操作:

第一步:找出表的定义

show create table t;

并将结果保存在某处(剪贴板或文件等)

第 2 步:创建一个类似的表

create table t_temp ...

(其中 ... 是命令的延续,不要从字面上理解,参见步骤 1

第 3 步:将数据复制到临时表

insert into t_temp(...)
select ...
from t;

其中...表示列列表。同样,不要从字面上理解这一点。

第 4 步:删除当前表

drop table t;

第 5 步:重命名临时表

alter table t_temp rename t;

最后说明

强烈建议您在进行如此大的更改之前定期特别备份您的数据库,以避免不可挽回的数据丢失。

于 2021-11-19T13:19:09.637 回答