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

MySQL Workbench添加CHECK约束报Error Code:3819问题求助

问题解决方案

报错根因

3819错误与字段名称、写法大小写无关,本质是supplier表中已经存在supplier_size字段值小于15的记录。MySQL添加CHECK约束时会默认校验全表所有历史数据,只要存在不符合约束规则的记录,就会触发该报错。

处理步骤

  1. 先查询所有不符合约束的历史记录:
SELECT * FROM supplier WHERE supplier_size < 15;
  1. 结合业务需求选择对应方案:
  • 方案一:清理不合规记录,要么将这些记录的supplier_size更新为大于等于15的值,要么直接删除不合规记录,清理完成后再执行添加约束的语句即可成功。
  • 方案二:如果必须保留不合规的历史记录,仅要求后续新增/更新的数据满足supplier_size >=15规则,MySQL原生不支持跳过历史数据校验CHECK约束,你可以改用触发器实现新增、更新操作的字段校验,或者调整约束规则兼容历史数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:54:07