Bug反馈,DDL修改表结构,报comment超1024错误

varchar(1024)并不是代表存储1024个中文,只是长度是1024,但是对应的varchar类型长度还有单位一说,比如下图,tidb底层的单位应该是字节,正好和你的comment中文是1:3对应关系

tidb应该是可以1个长度存1个中文的

char就是3个? byte是1个?

TiDB 表 / 列注释默认限制 1024 字节(中文占 3 字节),超长即报错。精简下注释内容,或确认字段是否误设为 BYTE 单位,可能就能正常执行 DDL。

这个问题意义不大

2 个赞

这个是超出了TIDB数据库注释的限制1024导致的,不算bug

1 个赞

中文字符的话,单位char,那么实际存储的中文字符串长度就是字段类型中设置的长度,;如果单位是byte,那么实际存储的中文字符串长度为实际设计的1/3;英文字母和数字不受单位的影响

2 个赞

正常的保护措施,这不算是bug吧:joy:

1 个赞

这么长,真没见过。

1 个赞

不能算Bug吧,当然,也不算正确。

2 个赞

感谢分享,这个问题很典型,解决方案很实用!

1 个赞

comment设置有点长哦,不是bug吧

1 个赞

不算 Bug,TiDB 表 / 列注释默认好像是限 1024 字节,精简注释或确认字段单位为 CHAR试下呗,弄不好就能正常执行 DDL了。

1 个赞

comment应该不用写1024字节这么长把

是不是有参数没有配置好,还是社区版本的问题