建表使用 `long byte` 类型时,TiDB 与 MySQL 表现不一致

【 TiDB 使用环境】 测试环境
【 TiDB 版本】v6.1.0
【遇到的问题】

建表语句:
CREATE TABLE t1 (col2 LONG BYTE) ENGINE=INNODB CHARACTER SET UTF8MB4;

  • TiDB 表结构如下
mysql> SHOW CREATE TABLE t1;
+-------+------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                     |
+-------+------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (
  `col2` mediumtext DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin |
+-------+------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
  • MySQL 5.7.36 表结构如下
mysql> show create table t1;
+-------+---------------------------------------------------------------------------------+
| Table | Create Table                                                                    |
+-------+---------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (
  `col2` mediumblob
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 |
+-------+---------------------------------------------------------------------------------+
1 row in set (0.00 sec)

该表现不一致会导致 pymysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py::test_MySQLdb::test_LONG_BYTE 测试用例无法通过

MySQL里面LONG是MEDIUMTEXT的别名,CHAR BYTE是BINARY的别名,LONG BYTE确实没找到文档说明,也没用过,看测试结果应该是MEDUIMBLOB的别名,"BYTE"关键字让TEXT变成了BLOB,看起来TiDB没有兼容这种用法

从语义上感觉 MEDUIMBLOB 更合理,希望可以修正下 TiDB 的表现,或者在兼容文档中专门说明下

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。