问题描述:
更新表A的某个varchar(10)的字段时报错:Data truncated for column,根据百度查询的结果看是更新字段长度超过列的长度。然后调整了该字段的长度,增大到varchar(50)(现在待更新的字段长度介于10-50之间,也就是肯定没有超长的),结果仍然报相同的错误。
解决方案:
问题有点奇怪,根据错误提示 ,问题原因很明确,但是为什么还是继续报一样的错误呢?
无意中点到了表结构的触发器上(如下图),原来在更新A表的时候同时触发了触发器,会同步更新B表的相同字段,而在B表中该字段的长度是没有调整的。
调整B表的该字段的长度为varchar(50),重新执行更新语句,更新成功。