GridDB插入数据遇Error 305010:TIMESTAMP类型转换问题求助
解决GridDB TIMESTAMP(3)插入的类型转换错误
问题原因
你的lastInspection列定义为TIMESTAMP(3),这表示该列仅支持毫秒级精度的时间值,但你插入的时间字符串包含了微秒(.589145),超出了列的精度范围,触发了非法类型转换错误。
修复方案
方案1:截断时间字符串到毫秒精度
直接把时间字符串的微秒部分截断为3位(毫秒),修改后的SQL如下:
INSERT INTO deviceMaster VALUES('device3','00:0f:00:70:91:0a','Lagos','PV234','2023-08-26T00:01:39.589+0000','vacuaam_valve');
方案2:使用显式TIMESTAMP转换
通过TIMESTAMP关键字显式转换符合精度的时间值,语法更清晰:
INSERT INTO deviceMaster VALUES('device3','00:0f:00:70:91:0a','Lagos','PV234', TIMESTAMP '2023-08-26 00:01:39.589+00:00','vacuaam_valve');
验证说明
执行上述任一SQL后,数据将正确插入deviceMaster集合,因为时间值的精度与列定义的TIMESTAMP(3)匹配,不会再触发类型转换错误。
内容的提问来源于stack exchange,提问作者ogbeks
相关产品推荐
相关产品推荐

