replace into 报bad number错误

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:V3.1.0-beta
  • 【问题描述】:执行repalce into xx select …的时候报错,但是replace into xx values()没有问题。

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

V3.10.0-beta ? 我们没有发布过此版本

麻烦发一下表结构

您好

打错了,是V3.1.0-beta。不好意思

  1. 麻烦提供一下报错时 TiDB 的 log ,其中报错的调用栈信息会比较方便帮助我们排除问题
  2. 我看截图中 单纯的 select 语句会有warning, 麻烦使用 show warnings; 输出一下warning信息

可以提供一下完整的log文件吗 谢谢 另外 如果可以的话提供下dm_crm_statistic_standard_0表中的几行数据 方便我们本地复现问题

表结构的文本格式也给一下吧

  • 我尝试了一下 TiDB 的行为和 MySQL 是一致的,MySQL 也同样会报错插入不了。写入的检查相对于读出的检查更为严格导致的。

  • replace into xx values() 可以插入成功是因为自己给的数据,没有生成warnings,所以能插入成功。

  • 这条SQL语句报错的原因在于,flow_amount <> ‘’ 这个条件里空字符串转换为Decimal会造成Truncated。

好的,谢谢啦。我大概知道是怎么回事了,flow_amount是个decimal

感谢你的提问

你们这样客气,不太好吧。:thinking:

:+1: