建表后查询失败,显示字段不存在

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
v4.0.0
【问题描述】
建表语句:
CREATE TABLE tmp_project_class_map2 (
his_name varchar(255) DEFAULT NULL,
aist_class1 varchar(255) DEFAULT NULL,
aist_class2 varchar(255) DEFAULT NULL,
aist_class3 varchar(255) DEFAULT NULL,
aist_classID varchar(255) DEFAULT NULL,
zhujian varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

查询报错:
mysql> select his_name from tmp_project_class_map2;
ERROR 1054 (42S22): Unknown column ‘his_name’ in ‘field list’


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

现在情况还是这样吗?

explain select his_name from tmp_project_class_map2; 反馈下


这边倒是没有复现这个情况

还是一样的

mysql 客户端版本问题?

select COLUMN_NAME from columns where TABLE_SCHEMA=‘xxx’ and table_name=‘xxx’; 反馈一下呢?

拿下这个表的 meta 信息吧,把 ip,端口, 数据库名和表名换一下:

curl 127.0.0.1:10080/schema/test/t > meta.log

meta.log (3.6 KB)

谢谢!

其他字段可以查出来来吗? 顺便给下 tidb 日志吧。

可以查出来,需要哪些日志?

select his_name from tmp_project_class_map2;

附近的日志

tmp_project_class_map2.log (32.7 KB)

看下 DDL 的结果?
admin show ddl jobs 100;

另外,这个日志是完整的吗?有没有过滤过?

按tmp_project_class_map2过滤了

tmp_project_class_map2.log.new (89.6 KB)

cat tidb-2021-02-04T13-53-42.333.log |grep -A10 -C 10 “tmp_project_class_map2” > tmp_project_class_map2.log.new

您好方便给下 11:51:22.000 到 11:51:51 之间的完整日志嘛,顺便方便展示下 admin show ddl jobs 100; 的结果嘛,多谢

tmp_project_class_map2.log.3 (143.5 KB) jobs.txt (16.2 KB)

看看有没有设置 snapshot 呢?

show variables like “%snapshot%”;

看起来建表的时候并不是正经的字符串,可以用 vscode/vim 分析下建表 log


麻烦确认下该建表字段中是否有隐形字符

1赞

谢谢! 确实有BOM字符