`

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是一种非常重要的配置,它决定了数据库服务器在处理SQL语句时的行为。SQL Mode定义了一组规则,这些规则会影响MySQL如何解释和执行SQL语句,包括数据验证、默认值处理、日期时间格式以及一些兼容性...

    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语句,以及在数据验证方面遵循的规则。SQL Mode的设定可以根据不同的应用场景进行调整,以适应多种需求,包括兼容其他数据库系统...

    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=only_full_group_by的完美解决方案

    在MySQL中,`sql_mode`是一个变量,它定义了服务器执行SQL语句时遵循的规则集。`ONLY_FULL_GROUP_BY`是其中的一种模式,它强制执行SQL标准关于GROUP BY子句的规定,即在GROUP BY之后的所有选择列必须出现在聚合函数...

    php中mysql数据库的sql注入与全面防范

    PHP 中 MySQL 数据库的 SQL 注入与全面防范 SQL 注入是 Web 应用程序中的一种常见的安全漏洞,它可以导致攻击者非法访问数据库,获取敏感信息甚至控制整个系统。在 PHP 中使用 MySQL 数据库时,SQL 注入问题非常...

    解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    通过阅读MySQL文档和相关的技术文章,如“Mysql之SQL Mode用法详解”、“MySQL5.7中的sql_mode默认值带来的坑及解决方法”等,可以深入理解各种SQL模式的作用和应用场景,从而更好地优化和维护你的数据库系统。

    mysql sql_mode= 的作用说明

    在MySQL中,`sql_mode`为空或者设置为`""`意味着不启用任何特定的SQL模式,这通常会放宽一些检查,提高执行效率。然而,这种情况下,当插入不适当的数据(比如错误的数据类型或超出范围的值),MySQL并不会抛出错误...

    spark读取hbase数据,并使用spark sql保存到mysql

    本示例将详细介绍如何使用 Spark 从 HBase 中读取数据,并通过 Spark SQL 将其存储到 MySQL 数据库中。 首先,让我们了解 Spark 与 HBase 的交互。Spark 提供了 `spark-hbase-connector` 库,允许我们方便地连接到 ...

    mysql sql_mode="" 的作用说明

    MySQL中的`sql_mode`是一个非常重要的配置选项,用于定义服务器在处理SQL语句时的行为模式。`sql_mode`可以包含多个模式,每个模式代表一种特定的行为规则,这些规则会影响MySQL如何解析和执行SQL语句,以及在遇到不...

Global site tag (gtag.js) - Google Analytics