ClickHouse exception, code: 62,踩坑记
文章目录
最近用 click house时,出现了一个很奇怪的错误:
1 | SQL 错误 [62]: ClickHouse exception, code: 62, host: 10.2.20.161, port: 18123; Code: 62, e.displayText() = DB::Exception: Cannot parse expression of type Nullable(String) here: '[{"nodeName" (version 21.3.4.25 (official build)) |
一开始以为是 字符串里包含什么特殊字符,把 长字符串里的特殊字符全去掉,也还是不行。 后来各种尝试,发现是有两个Datetime类型的字段有问题。 有问题的SQL:
1 | INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17','2021-06-17','TEST') |
修改方案一:在最后一个 datetime类型的值后面加一个换行,修改成:
1 | INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17','2021-06-17' |
修改方案二:补全时分秒,修改成:
1 | INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17 00:00:00','2021-06-17 00:00:00','TEST') |
具体的业务,字段特别多,大约70个字段左右。我自己尝试建立一张简单的表,并不会出现这个问题。 所以应该是 clickhouse在 字段数量比较多,SQL较长,且包含时间字段时,才会出现这样的BUG。