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

MySQL设置级联更新后修改FIELD_TEST主键触发外键约束失败原因咨询

错误原因

触发该报错的核心原因是外键关联的两个field_id字段长度不匹配,不符合MySQL外键规则要求:

  • 父表FIELD_TEST中field_id字段定义为CHAR(50)
  • 子表GRAPH_FIELD_INFO_TEST中关联的field_id字段定义为CHAR(32)
    MySQL要求外键关联的父子表字段,类型、长度、字符集、排序规则必须完全一致,级联更新、级联删除规则才能正常生效。
    你修改GRAPH表graph_id能正常触发级联更新,是因为GRAPH表的graph_id是CHAR(32)类型,和GRAPH_FIELD_INFO_TEST表中关联的graph_id字段长度完全一致,符合外键约束要求。

修复方法

将两个表的field_id字段长度调整为统一值即可,比如都设置为CHAR(32)或者CHAR(50),调整后再执行更新操作就能正常触发级联更新。
内容的提问来源于stack exchange,提问作者nkhcode

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:45:05