create table表名太长,不让创建,有没有办法解决?

mysql> create table aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(id int);
ERROR 1059 (42000): Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long

mysql 也有类似报错,支持的名称有最大字符限制,需要这么长的表名吗?

需要,有些表名是动态生成的,没法直接改

您好,这里的限制无法修改,需要您的应用限制 table 名称长度,多谢。

请问,这个是出于什么考虑,抛开mysql来讲,表名太长会有什么问题,在tidb中

围观一下,这里是什么场景会这么用哪

兼容 MySQL 呀。
比如说用户从 MySQL 迁过来的,然后遇到啥问题了,逃生方案还可以再迁回 MySQL。
然而,如果用户在 TiDB 创建出表名很长的表,后面使用出了问题,想再逃生回 MySQL 都没得机会。

这个如果有个参数可以设置,不就行了,确认不会迁回mysql,只是要使用tidb

如果您有需求可以到 https://github.com/pingcap/tidb/issues 提交需求,多谢。