mysql中关于text的特别情况

前言

项目中遇见的一个特别情况,记录下来

正文

Text字段

Text字段的长度为64K,Msyql的一个字段设置text格式,然后执行insert和update操作,它会自动截取超过64K后的,你只能看到前面64k的数据,这是因为mysql的sql_mode设置为default,(即没有开启strict_all_tables选项)。Mysql对于插入过长的值只会提示warning,而不是error。但是你在后台用java(或者python)连接数据库操作,insert或update时,数据过长,它会报Data truncation: Data too long for column 错误,这是因为jdbc的底层的jdbcCompliantTruncation设置,这个时候数据过长不会截短报警告,直接报java.sql.DataTruncation异常。

-------------本文结束感谢您的阅读-------------