zoukankan      html  css  js  c++  java
  • MySQL中常用的SQL Mode

    在MySQL中,SQL mode常用于解决以下几类问题:

    1.完成不同严格程度的数据校验

    2.设置 SQL mode 为 ANSI模式,来保证大多数SQL符合标准的SQL语法,这样应用在不同数据库迁移时,就不需要对业务SQL进行较大的修改

    3.在不同数据库之间进行数据迁移之前,用过设置SQL mode 可以使MySQL上的数据更方便地迁移到目标数据库中

    set sql_mode='ansi';

    set sql_mode='REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI_NO_BACKSLASH_ESCAPES';

     

    常用的的SQL_mode:

    ANSI  

    等同于 REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY和ANSI组合模式,

    这种模式遇到异常时倾向于警告而不是立刻返回错误

    STRICT_TRANS_TABLES    

    适用于事务表和非事务表,它是严格模式,不允许非法日期,也不允许超过字段长度的值插入字段中,

    对于插入入不正确的值给出错误而不是警告

    TRADITIONAL   

    等同于STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERRORS_FOR_DIVISION_BY_ZERO,

    NO_AUTO_CREATE_USER和NO_ENGINE_SUBSTITUTION的组合模式,所以它也是严格模式,对于插入入不正确的值给出错误而不是警告,

    可以应用在事务表和非事务表,用在事务表时,只要出现错误就会立刻回滚

  • 相关阅读:
    2018/1/1 XML和DOM、SAX解析
    2018/1/1 Html+CSS+JavaScript
    2017/12/30 GUI和动态代理
    开发运维实施一系列问题归类
    如何理解并发,并行,串行
    java内存溢出与内存泄漏
    IDEA 导入的聚合工程父工程报错Cannot resolve symbol 'modelVersion'
    jvm垃圾回收算法
    String创建对象的难题一
    String详解
  • 原文地址:https://www.cnblogs.com/kate7/p/13376247.html
Copyright © 2011-2022 走看看