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字节这么长把
是不是有参数没有配置好,还是社区版本的问题
