zoukankan      html  css  js  c++  java
  • 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 --help | grep my.cnf

     

     

    83:                      order of preference, my.cnf, $MYSQL_TCP_PORT,

    149:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 

  • 相关阅读:
    log日志框架和LocationAwareLogger问题
    Eclipse 各种小图标的含义
    自定义log4j日志级别
    在Tomcat配置JNDI数据源的三种方式
    mybatis中"#"和"$"的区别
    Postman用法简介-Http请求模拟工具
    mustache模板技术(转)
    VS的编译选项
    Java Service Wrapper简介与使用
    还活着
  • 原文地址:https://www.cnblogs.com/yyluming/p/5139577.html
Copyright © 2011-2022 走看看