mysql在配置文件my.cnf中有一个配置项
[mysqld]
sql-mode = "xx_mode" sql-mode中有STRICT_TRANS_TABLES是在数据超长的情况下会插入失败,当删除这个限制时,插入超长会MySQL会自动截断超长的字段
如果无法修改服务端的配置那么在sqlsession中设置sql-mode 也可以达到改变长度约束的目的
如:
select @@session.sql_mode;
set @@global.sql_mode='ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
INSERT INTO tbl_pipbat_file_inf1 values (包含超长的字段)
select @@session.sql_mode;
运行结果发现超长字段被截断