`

mysql中的sql mode

 
阅读更多
mysql sql mode小结


1 sql mode可以完成数据的教研,方便数据库迁移,而不需要进行大量修改
2  mysql 5中,默认的椒允许插入超过长度的值,但会给出警告,可以修改为strict_trans_tables,实现严格校验


3 select @@sql_mode; 查看当前模式;

4 设置set (global)session sql_mode='STRICT_TRANS_TABLES';

5 insert或update过程中,如果sql_mode处于traditional模式,则mod(x,0)发生错误,非严格模式下返回null;

6 启用no_backslash_esacpes模式,让反斜线成为普通字符,在导入数据时,如果数据中有反斜线,则可以启用这个

7 ansi模式更符合标准sql,
   strict_trans_tables模式,不允许非法日期,超过字段长度,给出错误
   traditional模式在事务表中,出现错误会回滚

8
如果mysql与其它异构数据库之间有数据移植的需求的话,那么下面的sql_mode的组合设置可以达到相应的效果:
数据库 Sql_mode值
DB2 PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS
MAXDB PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、 NO_AUTO_CREATE_USER
MSSQL PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、 NO_FIELD_OPTIONS
ORACLE PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS、NO_AUTO_CREATE_USER
POSTGRESQL PIPES_AS_CONCAT、ANSI_QUOTES、IGNORE_SPACE、NO_KEY_OPTIONS、NO_TABLE_OPTIONS、NO_FIELD_OPTIONS

   数据迁移过程中,可以设置为no_table_options模式
分享到:
评论

相关推荐

    MySQL中SQL Mode的查看与设置详解

    MySQL中SQL Mode的查看与设置 MySQL可以运行在不同的模式下,而且可以在不同的场景下运行不同的模式,这主要取决于系统变量 sql_mode 的值。本文主要介绍一下这个值的查看与设置,主要在Mac系统下。 对于每个模式的...

    MySQL5.7中的sql_mode默认值带来的坑及解决方法

    在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本。作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是MySQL升级到5.7版本之后,由于默认的 sql_...

    Mysql之SQL Mode用法详解

    一、Mysql SQL Mode简介 通常来说MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持...

    mysql中的sql_mode模式实例详解

    本文实例讲述了mysql中的sql_mode模式。分享给大家供大家参考,具体如下: mysql数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等!我们可以通过以下方式查看当前数据库使用的sql_mode:...

    关于MySQL的sql_mode合理设置详解

    MySQL的sql_mode合理设置 sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法操作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也...

    Mysql关于使用存储过程设置sql_mode

    NULL 博文链接:https://yixinhu.iteye.com/blog/1534691

    MySQL关于sql_mode解析与设置讲解

    于是乎去谷歌了一番,总算是明白了其中的原因:是因为MySQL的sql_mode 模式限制着一些所谓的‘不合法’的操作。 解析 这个sql_mode,简而言之就是:它定义了你MySQL应该支持的sql语法,对数据的校验等等。。 如何查看...

    mysql sql_mode= 的作用说明

    sql_mode=””,即强制不设定MySql模式(如不作输入检测、错误提示、语法模式检查等)应该能提高性能,但有如下问题: 如果插入了不合适数据(错误类型或超常),mysql会将数据设为“最好的可能数据”而不报错,如:...

    MySql版本问题sql_mode=only_full_group_by的完美解决方案

    主要介绍了MySql版本问题sql_mode=only_full_group_by的完美解决方案,需要的朋友可以参考下

    MySQL中SQL模式的特点总结

    MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值。DBA可以设置全局SQL模式以匹配站点服务器操作要求,并且每个应用程序可以将其会话SQL...

    解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    MySQL 5.7.9版本sql_mode=only_full_group_by问题 用到GROUP BY 语句查询时...

    Emacs的sql-mode扩展

    emacs在sql-mode模式下可以进行SQL编辑和测试。 支持Sybase,Oracle,MySQL和PostgreSQL。 放到site-lisp目录下,然后在.emacs中配置 (load-file (expand-file-name "E:/lispbox-0.7/emacs-23.2/site-lisp/sql-...

    php mysql+sql server 数据库处理类

    $DBType | 数据库类型【MS_SQL\MYSQL\ORACLE】 $TableName | 数据表名 $release | 是否调试语句 公共方法: set_var($Address,$Port,$DBType,$UserID,$PassWord,$DBaseName) 方法说明:设置数据连接参数 ...

Global site tag (gtag.js) - Google Analytics