zoukankan      html  css  js  c++  java
  • MySQL 的 SQL-Mode

    SQL Mode 常用来解决下面几类问题:

    1、通过设置 SQL Mode ,可以完成不同严格程度的数据校验,有效地保障数据准确性。

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

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

    一、常用 SQL-Mode 

    PIPES_AS_CONCAT——该模式将“||”视为字符串连接操作符。 

    NO_BACKSLASH_ESCAPES——使反斜线成为普通字符。 

    ANSI——等同于 REAL_AS_FLOAT 、PIPES_AS_CONCAT、 ANSI_QUOTES、IGNORE_SPACE 和 ANSI 组合模式,这种模式使语法和行为更符合标准的SQL。

     STRICT_TRANS_TABLES——适用于事务表和非事务表,它是严格模式,不允许非法日期,也不允许超过字段长度的值插入字段中,对于插入不正确的值给出错误而不是警告。

    TRADITIONAL——等同于 STRICT_TRANS_TABLES、 STRICT_ALL_TALBES、NO_ZERO_IN_DATE、 NO_ZERO_DATE、 ERROR_FOR_DIVISION_BY_ZERO、TADITIONAL 和NO_AUTO_CREATE_USER 组合模式,所以它也是严格模式,对于插入不正确的值是给出错误而不是警告。可以应用在事务表和非事务表,用在事务表时,只要出现错误就会立即回滚
     
     二、 SQL Mode 在与其他异构数据库之间数据迁移中的使用

    1、DB2 —— PIPES_AS_CONCAT , ANSI_QUOTES , IGNORE_SPACE , NO_KEY_OPTIONS , NO_TABLE_OPTIONS , NO_FIELD_OPTIONS

    2、MAXDB —— PIPES_AS_CONCAT , ANSI_QUOTES , IGNORE_SPACE , NO_KEY_OPTIONS , NO_TABLE_OPTIONS , NO_FIELD_OPTIONS , NO_AUTO_CREATE_USER

    3、MSSQL —— PIPES_AS_CONCAT , ANSI_QUOTES , IGNORE_SPACE , NO_KEY_OPTIONS , NO_TABLE_OPTIONS , NO_FIELD_OPTIONS 

    4、ORACLE —— PIPES_AS_CONCAT , ANSI_QUOTES , IGNORE_SPACE , NO_KEY_OPTIONS , NO_TABLE_OPTIONS , NO_FIELD_OPTIONS , NO_AUTO_CREATE_USER 
     5、POSTGRESQL —— PIPES_AS_CONCAT , ANSI_QUOTES , IGNORE_SPACE , NO_KEY_OPTIONS , NO_TABLE_OPTIONS , NO_FIELD_OPTIONS

     
  • 相关阅读:
    数据结构-二叉树--二叉搜索树
    Django之Model操作
    Django之Form组件
    Django之url(路由)配置
    Django框架之模板继承和静态文件配置
    Django框架之第三篇模板语法(重要!!!)
    Django ORM操作及进阶
    django 之 ORM操作多表联查总结
    人生苦短,我学python之python xml数据解析
    人生苦短,我学python之python re正则表达式
  • 原文地址:https://www.cnblogs.com/loudon/p/3851095.html
Copyright © 2011-2022 走看看