问题描述:
更新表A的某个字段,字段长度 varchar(10),报错:Data truncated for column,根据百度查询的结果看是更新字段长度超过列的长度。然后调整了该字段的长度,增大到varchar(35)(现在待更新的字段长度介于10-35之间,也就是肯定没有超长的),结果仍然报一样的错误。
解决方案:
问题有点奇怪,根据错误提示 ,问题原因很明确,但是为什么还是继续报一样的错误呢?
无意中点到了表结构的触发器上(如下图),原来在更新A表的时候同时触发了触发器,会同步更新B表的相同字段,而在B表中该字段的长度是没有调整的。
调整B表的该字段的长度为varchar(35),重新执行更新语句,更新成功。
————————————————
懒人菜鸟的详细操作办法如下,本人的错误提示是ERROR 1265: Data truncated for column PartNumber at Row 1根据提示去找出错字段PartNumber在其他关联表里varchar值,我是把整个数据库都导出来然后用ctrl+F去搜索关键词REFERENCES wz
(PartNumber
)【 说明:REFERENCES 当前出错的操作表
(出错的表字段
) 】,然后找到一大堆,逐个打开查看该数据表的结构里的 PartNumber Varchar数值,果真发现一个默认15的,没有同步成35,改了这个数值以后再测试执行sql语句,成功。
描述的可能有点不大清楚,不懂的朋友加我QQ403022545,我给你演示吧。
- 我的微信
- 这是我的微信扫一扫
-
- 我的微信公众号
- 我的微信公众号扫一扫
-