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 

  • 相关阅读:
    nyoj_518_取球游戏_201404161738
    nyoj_528_找球号(三)_201404152050
    nyoj_68_三点顺序_201404152013
    nyoj_123_士兵杀敌(四)_201404131143
    树状数组
    nyoj_116_士兵杀敌(二)_201404131107
    hdu_1024_糖果大战_201404021640
    hdu_1205_吃糖果_201404021440
    nyoj_278_排队_201403282135
    nyoj_127_星际之门(一)_201403282033
  • 原文地址:https://www.cnblogs.com/yyluming/p/5139577.html
Copyright © 2011-2022 走看看