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

     
  • 相关阅读:
    GridView多行表头合并
    Android开发一 什么是3G
    SQL 日期格式 问题
    ASP.NET中TextBox控件设置ReadOnly="true"后台取不到值
    服务器维护:FTP无法连接
    Android开发之旅:应用程序基础及组件
    Failed to create the Java Virtual Machine
    Android开发七 Android中的显示单位
    Excel 数据有效性,怎么提示指定的命名区域不存在?
    Android开发三 如何安装 Android SDK 和Eclipse 插件
  • 原文地址:https://www.cnblogs.com/loudon/p/3851095.html
Copyright © 2011-2022 走看看