You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Error 1411排查:STR_TO_DATE转换日期UPDATE语句报错

问题解决:MySQL UPDATE时触发1411错误的原因与修复

这个错误的核心原因是你的example_table里存在脏数据——有一行的date字段值是字符串'date',STR_TO_DATE函数无法用%m/%d/%Y格式解析这个值,从而触发报错。

为什么SELECT时能正常返回结果?因为你执行SELECT时只查询到了格式合法的行(比如7/25/2022),没碰到这条脏数据;但UPDATE操作会遍历表中所有行,处理到这条脏数据时就触发了1411错误。

解决步骤:

  1. 定位脏数据
    可以用以下语句找出所有无法被正确解析的行:

    SELECT `date` FROM example_table WHERE STR_TO_DATE(`date`, '%m/%d/%Y') IS NULL;
    

    或者直接精准查找值为'date'的行:

    SELECT * FROM example_table WHERE `date` = 'date';
    
  2. 处理脏数据
    根据实际业务需求处理这些脏数据,比如删除误输入的表头行:

    DELETE FROM example_table WHERE `date` = 'date';
    

    也可以将其修正为合法的日期格式值。

  3. 重新执行UPDATE
    处理完脏数据后,再次执行你的UPDATE语句即可完成日期格式转换:

    UPDATE example_table
    SET `date` = STR_TO_DATE(`date`, '%m/%d/%Y');
    

内容的提问来源于stack exchange,提问作者David Welsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:02:08