前几天在建表的时候,有这么一个现象,因为我的表字段比较多(一个患者的体检表项目繁多,不要问我为什么不分表了),字段类型为varchar类型,结果保存的时候报了如下的错误
原因:
MySQL在建表的时候有个限制:MySQL要求一个行的定义长度不能超过65535。具体的原因可以看:
http://dev.mysql.com/doc/refman/5.1/en/silent-column-changes.html
当建立新表时,会按照如下步骤进行检测:
1、若单个字段如果大于65535,则转换为TEXT,执行第二步;
2、单行最大限制为65535,这里不包括TEXT、BLOB,若超过,则报错;
解决这个错误的方法比较简单,把varchar改成text或者blob,甚至tinytext就可以了;