zoukankan      html  css  js  c++  java
  • mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等

    查看默认的sql mode模式:
    select @@sql_mode;
    我的数据库是:
    STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    在此模式下面,如果插入的数据的长度大于定义的长度,那么就会报错!
     
    set session sql_mode='REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ANSI';
    在这种模式下面:插入的数据的长度大于定义的时候,就会截取,并警告,但是可以插入进去
    session表示只在本次中有效
    global:表示在本次连接中不生效,而对于新的连接就生效
     
    启用NO_BACKSLASH_ESCAPES模式,使反斜线成为普通字符,在导入数据时候,如果数据中有反斜线,启用这个模式是个不错的选择
     
    启用PIPES_AS_CNCAT模式,将||看成是普通字符串
     
    常用的sql mode:
     sql mode值  说明 
     ANSI  'REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE和ANSI组合',这种模式使语法和行为更符合标准的sql 
     STRICT_TRANS_TABLES  使用与事务和非事务表,严格模式 
     TRADITIONAL  也是严格模式,对于插入不正确的值给出错误而不是警告。用在事务时,只要发生错误就立即回滚 

    本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/database/mysql/20081127/13955.html
    这是我网上找到的资料


    我觉得mysql_query("SET sql_mode=''");这句的设定可能是为了不让数据插入错误时不报错。。。。。。。不知道大家怎么看?

  • 相关阅读:
    [转]在efcore 中创建类 通过实现IEntityTypeConfiguration<T>接口 实现实体类的伙伴类 实现FluentApi
    jboss反序列化漏洞(CVE-2017-12149)
    第一阶段 3、javascript
    vue创建新项目
    vue引入git项目运行测试相关
    javascript基础知识梳理
    关于模式识别作业——利用分类器实现手写数字识别
    Guava 学习
    读书清单
    @JsonInclude(Include.NON_NULL)全局配置
  • 原文地址:https://www.cnblogs.com/sandea/p/3711205.html
Copyright © 2011-2022 走看看