Data too long for column

2019-04-04 10:02:43

背景 最近在对MySQL进行一个常见的数据插入的时候,报了一个Data too long for column xxx的错误,当时就有点懵,首先我存放的这个字段里面内容可能会比较大,当初我就设置为TEXT类型,按理说用这个类型来存放已经足够,就不会报这个问题才对 解决办法 varchar 如果原本定义的字段类型为varchar类型,应该是你存放的数据超过了设置的长度,两种方式: 把varchar设置更大值 将MySQL模式设置为非严格模式(这个主要是由低版本的MySQL转高版本MySQL导致,比如数据迁移时) SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; text 而我此次出的问题就是这个,本想text类型已经够存放,但第三方存放的数据大小往往会是不可控的,需要将原有的TEXT改为MEDIUMTEXT,当然具体大小怎么更改需要看你具体业务需求,不是越大越好。我们可以看下面的定义: 类型 大小 TINYTEXT 256 bytes TEXT 65,535 bytes