uct框架数据库sql文件导入错误之 sql_mode
uct框架在导入sql文件时可能会出现一种错误 ERROR 1101 (42000): BLOB/TEXT column 'brief' can't have a default value 这是由于mysql环境变量sql_mode设置使得对sql语句检查规则和数据校验有不同处理方式。 mysql支持三种sql_mode模式。 ANSI模式: 宽松模式,对插入数据进行校验,如果不符合定义类型或长度,对数据类型调整或截断保存,报warning警告。 TRADITIONAL模式: 严格模式,当向mysql数据库插入数据时,进行数据的严格校验,保证错误数据不能插入,报error错误。用于事物时,会进行事物的回滚。 STRICT_TRANS_TABLES模式: 严格模式,进行数据的严格校验,错误数据不能插入,报error错误。 可以通过以下语句查看当前使用模式 select @@sql_mode; 检查发现当前使用的是严格模式导致sql导入失败。因此解决办法是 修改mysql配置文件/etc/my.cnf 在[mysqld]下面找到sql_mode配置注释掉重启即可 #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ps: my.cnf 可能有多个配置文件,因此如果你发现修改了还是没有生效,要检查一下是否有遗漏。 mysql -