精华内容
下载资源
问答
  • MySQL的sql_mode查询与设置

    万次阅读 2020-07-18 11:15:45
    select @@session.sql_mode; 全局级别: 查看 select @@global.sql_mode; 2,修改 set @@session.sql_mode='xx_mode' set session sql_mode='xx_mode' 全局级别:修改 set global sql_mode='xx_mode'; set @@...

    1,执行SQL查看

    select @@session.sql_mode;
    

    全局级别: 查看

    select @@global.sql_mode;
    

    2,修改

    set @@session.sql_mode='xx_mode'
    set session sql_mode='xx_mode'
    

    全局级别:修改

    set global sql_mode='xx_mode';
    set @@global.sql_mode='xx_mode';
    

    session均可省略,默认session,仅对当前会话有效
    全局修改的话,需高级权限,仅对下次连接生效,不影响当前会话,且MySQL重启后失效,因为MySQL重启时会重新读取配置文件里对应值,如果需永久生效需要修改配置文件里的值。

    vi /etc/my.cnf
    
    [mysqld]
    sql-mode = "xx_mode"
    

    保存退出,重启服务器,即可永久生效

    sql_mode常用值如下:

    ONLY_FULL_GROUP_BY

    对于GROUP BY聚合操作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中

    NO_AUTO_VALUE_ON_ZERO

    该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户 希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。

    STRICT_TRANS_TABLES

    在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制

    NO_ZERO_IN_DATE

    在严格模式下,不允许日期或月份为零,只要日期的月或日中含有0值都报错,但是‘0000-00-00’除外

    NO_ZERO_DATE

    设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。年月日中任何一个不为0都符合要求,只有‘0000-00-00’会报错

    ERROR_FOR_DIVISION_BY_ZERO

    在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如 果未给出该模式,那么数据被零除时MySQL返回NULL
    update table set num = 5 / 0 ; 设置该模式后会报错,不设置则修改成功,num的值为null

    NO_AUTO_CREATE_USER

    禁止GRANT创建密码为空的用户

    NO_ENGINE_SUBSTITUTION

    如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

    PIPES_AS_CONCAT

    将"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似

    ANSI_QUOTES

    启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

    参考:https://blog.csdn.net/wyzxg/article/details/8787878

    展开全文
  • mysql之修改sql_mode

    万次阅读 多人点赞 2017-08-12 08:59:13
    一 ERR 1067引发的血案 今天在Navicat中运行sql语句创建数据表出现了错误Err 1067。...查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要解

    一 ERR 1067引发的血案

           今天在Navicat中运行sql语句创建数据表出现了错误Err 1067。而这条语句在有些同事的mysql上是正确的,但是在有些人那里就报错。你说气不气人。

     

     

    原因竟然是timestamp的默认值不正确。

    查阅资料得知,mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期的值为全0值的,所以想要

    解决这个问题,就需要修改sql_mode的值。

    二 问题的源头sql_mode

           我们可以进入到mysql中一探sql_mode的究竟。首先进入到mysql的安装目录下的bin目录,使用管理员用户登录mysql数据库。

    使用命令 mysql –h localhost –u root–p  其中-h是指定主机名或IP地址, -u是指定用户, -p是使用密码登录。

     

    使用命令 select @@sql_mode; 可以查看sql_mode的值。如果输入了命令却没有反应,只是单单出现了 -> ,那么我想

    你多半是应该像我一样,没有输入“;”。

     

     

    通过上图中的结果我们可以看到sql_mode中有NO_ZERO_IN_DATE和NO_ZERO_DATE,在命令行中输入

    set sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); 可以修改sql_mode。

     

    之后可以查看一下sql_mode的值。可以发现已经成功去掉了NO_ZERO_IN_DATE和NO_ZERO_DATE。

     

     

    重新运行了一下建表的sql语句,发现没什么卵用,依然Err 1067。不要想什么姿势不对的问题了,只是全局的sql_mode没有设置而已,而这里设置的sql_mode对大局根本没有影响。

           使用命令select @@global.sql_mode; 可以查看全局sql_mode的值。

     

     

    剩下的操作与之前的sql_mode设置是同理可证的,只是将之前sql_mode的地方都换成了@@global.sql_mode

    ,如图。

     

     

    完成设置之后可以在Navicat中重新运行一下sql语句了,不过在那之前要先重新连接数据库,不然依然Rrr 1067。

     

     

    别问我为什么,叫我雷锋就好。运行结果如下:

     

    好了,这次表是创建成功了的,而且换了一个错误Err 1055,翻译过来就是“无法给包含一个非聚合的列information_schema.

    PROFILING.SEQ进行分组,这个功能不再依赖分组,且与新的规则不兼容sql_mode=only_full_group_by”。也说了这是由于

    sql_mode中的“ONLY_FULL_GROUP_BY”导致的。可以再次修改sql_mode。

     

    删除之前创建好的表,重新连接数据库,运行sql语句,然后就棒棒棒了。

     

     

    当然这种解决方法只是扬汤止沸,一旦重启mysql数据库,之前费了狼劲设置的一堆值一夜回到解放前。

           这也是有解决办法的,下面会给大家介绍。

    三 设置sql_mode

           可以通过修改配置文件的方式设置sql_mode,这样在数据库重启之后sql_mode的值也不会改变。

           首先我们需要知道的是mysql的配置文件的加载顺序。进入到数据库安装目录的bin目录下,使用命令

    mysqld --verbose –help可以看到,不过这个命令的输出结果太长了,我暂时没有找到更合适的命令来查看。

    加载顺序如图:

     

    这些配置文件在加载时,后加载的会将之前加载的配置文件中的相同的值覆盖。不过我只在mysql的安装目录下找到了

    一个名字很像的配置文件,其余的都没有找到。

     

    将这个文件备份好之后,修改名称为my.ini,与给出的加载配置文件顺序中的文件对应。然后打开文件,我这里的配置

    文件中的sql_mode只有两个值。

     

     

    重启数据库后,使用命令查看sql_mode的值,发现与配置文件中完全吻合,搞定!

     

     

    附加几种常见的sql_mode值的介绍:

     

    几种常见的mode介绍

    ONLY_FULL_GROUP_BY:出现在select语句、HAVING条件和ORDER BY语句中的列,必须是GROUP BY的列或者依赖于GROUP BY列的函数列。

     

    NO_AUTO_VALUE_ON_ZERO:该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。

     

    STRICT_TRANS_TABLES:在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制

     

    NO_ZERO_IN_DATE:这个模式影响了是否允许日期中的月份和日包含0。如果开启此模式,2016-01-00是不允许的,但是0000-02-01是允许的。它实际的行为受到 strict mode是否开启的影响。

     

    NO_ZERO_DATE:设置该值,mysql数据库不允许插入零日期。它实际的行为受到 strictmode是否开启的影响。

     

    ERROR_FOR_DIVISION_BY_ZERO:在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。如果未给出该模式,那么数据被零除时MySQL返回NULL

     

    NO_AUTO_CREATE_USER:禁止GRANT创建密码为空的用户

     

    NO_ENGINE_SUBSTITUTION:如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

     

    PIPES_AS_CONCAT:将”||”视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似

     

    ANSI_QUOTES:启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

     

    展开全文
  • 5分钟学会MySQL-  "this is incompatible with sql_mode=only_full_group_by"错误解决方案   前言:  一、原理层面  这个错误发生在mysql 5.7 版本及以上版本会出现的问题...

                                                         5分钟学会MySQL-

              "this is incompatible with sql_mode=only_full_group_by"错误解决方案

     

    前言:

           一、原理层面

           这个错误发生在mysql 5.7 版本及以上版本会出现的问题:

           mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。

           很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。

            

            二、sql层面

            在sql执行时,出现该原因:

            简单来说就是:输出的结果是叫target list,就是select后面跟着的字段,还有一个地方group by column,就是

            group by后面跟着的字段。由于开启了ONLY_FULL_GROUP_BY的设置,所以如果一个字段没有在target list 

            和group by字段中同时出现,或者是聚合函数的值的话,那么这条sql查询是被mysql认为非法的,会报错误。

     

         

      一、查看sql_mode的语句如下

     

    select @@GLOBAL.sql_mode;

     

      二、解决方案-(推荐解决方案二)

     

      ①解决方案一sql语句暂时性修改sql_mode

    set @@GLOBAL.sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

          问题:

                  重启mysql数据库服务之后,ONLY_FULL_GROUP_BY还会出现。

      ②解决方案二:完美解决方案。

       需修改mysql配置文件,通过手动添加sql_mode的方式强制指定不需要ONLY_FULL_GROUP_BY属性,

       my.cnf位于etc文件夹下,vim下光标移到最后,添加如下:

    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

           重启mysql服务,顺利解决。 

     

                           Now ~ ~ ~写到这里,就写完了,如果有幸帮助到你,请记得关注我,共同一起见证我们的成长

     

    小结

    谢谢观赏,我叫猿医生。

    猿友推荐:正在奔跑的程序猿

    展开全文
  • fullscreen mode and windowed mode

    千次阅读 2018-10-02 14:42:13
    本文汇总介绍关于exclusive fullscreen(真全屏)和windowed mode(窗口模式包括无边框)方面的信息。 直接上图,这里对比下大的不同,真全屏的话相对来说两个巨大优势: 直接把backbuffer显示到桌面,已经是最少...

    在这里插入图片描述

    本文汇总介绍关于exclusive fullscreen(真全屏)和windowed mode(窗口模式包括无边框)方面的信息。
    在这里插入图片描述
    直接上图,这里对比下大的不同,真全屏的话相对来说两个巨大优势:

    • 直接把backbuffer显示到桌面,已经是最少的copy了
    • 这个也带了一些额外的设置要求:device创建中的size,format,refreshrate都是需要是从adapter中enumerate出来的一种
    • 显存独占,这个对于显存量比较小的游戏来说特别的重要,实际游戏运行中,会出现driver在调度显存的情况,这种往往以paging的方式出现一个卡顿,也是高帧数游戏中非常头疼的情况
    • 劣势:切出fullscreen时候有一定的切换时间,这让频繁切屏的玩家会很难受,这种情况下无边框的窗口模式更好一些,但这点在新版的win10 update里面已经进一步提升,到了很低的限度了。
      所以在cpu和gpu方面都有很大优势。

    在windowed mode下,在win10 的dxgi中已经有了不少的优化,甚至在一些情况下满足可以做到使用direct flip达到和exclusive fullscreen一样的效率(这也是中间一度取消exclusive fullscreen)

    一些细节

    • 游戏窗口在exclusive fullscreen下会自动的变成topmost的,无论是否设置

    reference:
    https://blogs.msdn.microsoft.com/directx/2018/04/09/dxgi-flip-model/
    https://docs.microsoft.com/en-us/windows/desktop/direct3darticles/direct3d-9ex-improvements

    展开全文
  • 问题描述:SpringBoot连接Redis服务出现DENIED Redis is running in protected mode because protected mode is enabled 解决方法:是说Redis服务处于保护模式,我们需要修改配置文件redis.conf。将NETWORK下的...
  • fastjson safemode_fastjson_safemode

    千次阅读 2021-01-14 13:35:05
    打开SafeMode功能在1.2.68之后的版本,在1.2.68版本中,fastjson增加了safeMode的支持。safeMode打开后,完全禁用autoType。所有的安全修复版本sec10也支持SafeMode配置。有三种方式配置SafeMode,如下:1. 在代码中...
  • SSC mode

    千次阅读 2018-10-19 17:52:57
    SSC(Session and Service Continuity) mode SSC mode能够满足UE不同的连续性需求,与某个PDU Session相关的SSC mode在其周期内不改变。 SSC mode 1: 网络保留与UE的连接
  • webpack之mode

    千次阅读 2019-06-06 15:21:12
    webpack之mode
  • mysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部分都会选择调整sql_mode,使其保持跟5.6一致,为了尽量兼容程序。 二、...
  • 今天clone代码,git status显示修改了大量文件,git diff提示filemode变化,如下: diff --git a/Android.mk b/Android.mk old mode 100644 new mode 100755 原来是filemode的变化,文件chmod后其文件某些位是...
  • Thumb mode 与 ARM mode比较

    千次阅读 2015-09-04 11:32:40
    Thumb mode的code size为ARM mode的70%Thumb mode需要使用的指令比ARM mode多40%以上在32位的存储器架构下, ARM mode的code比Thumb mode的code快40%在16位的存储器架构下, Thumb mode的code比ARM mode
  • git diff old mode 100644 new mode 100755

    万次阅读 多人点赞 2018-03-20 17:29:17
    今天执行git diff filename ,出现 old mode 100644 new mode 100755 的提示,如下图:但是发现文件内容并没有发生改变想起来中间执行过chmod 的操作,产生这个问题的原因就是:filemode的变化,文件chmod后其文件...
  • zen mode

    千次阅读 2015-04-24 02:06:46
    1. Ringer mode与zen mode的互相影响 这分部主要由ZenModeHelper完成. Ringer mode对zen mode的影响: setRingerModeExternal àZenModeHelper à setRingerModeInternal setRingerModeInternal àZenModeHelperà ...
  • 问题主要集中下C D 关于operationnal mode 和 administrator mode区别 百度在cisco论坛,看了不同的人回答。在这里总结一下。 show interfaces switchport “# show interfaces switchport” command gives ...
  • 关于WIFI的工作模式--AP MODE/STATION MODE

    千次阅读 2019-09-10 12:01:27
    wifi的concurrent mode 所谓wifi的共存模式,有以下几种: station mode + station mode station mode + ap mode station mode + p2p mode p2p mode + ap mode WIFI模块通常支持几种工作模式,但也可以...
  • PyCharm 在2017.3版本之后加入了Scientific Mode,在科学计算时,可以方便的追踪变量变化等。 使用NumPy的时候,系统会提示 use scientific mode,但进去后就运行程序的在控制台中,很麻烦,想改回来的话按下面...
  • Doze Mode

    千次阅读 2015-09-21 09:55:59
    理解android Marshmallow中的Doze Mode在android marshmallow中介绍了一种在手机空闲的时候新的节省电量的方法:doze mode。那就让我们开始打开doze-mode的大门吧!当手机没有充电,手机屏幕锁定并且屏幕没有触摸...
  • NetApp:7-mode和C-mode

    千次阅读 2017-09-19 09:40:58
    NetApp:7-mode和C-mode
  • Mode1和Mode2

    千次阅读 2013-11-28 19:48:54
    Mode1:jsp+javabean Mode2:jsp+servlet+javabean SUN公司对于MVC模式所先后推出的二种规范,第一种是JSP MODEL1,第二种则是JSP MODEL2 JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类...
  • Latex 中的text mode 和 math mode

    千次阅读 2018-09-03 17:04:00
    Latex 输入公式时, 需要使用math mode。在正常文本中,使用text mode 对应格式。 具体区别如下表所示。 图片来自 stackExchange 如下图所示: 以常用的卡尔曼滤波公式为例:代码如下: \begin{align*} &...
  • Standards mode是什么意思?Quirksmode又是什么意思?他们又有什么联系与区别?
  • Gin Mode的选择

    千次阅读 2020-03-23 11:36:41
    我在阅读别人的代码的时候,发现下列这行代码。 gin.SetMode(gin.ReleaseMode) 本来不懂为什么需要设定模式,查看了gin源码,发现该框架提供了下列三种模式。... // ReleaseMode indicates gin mode i...
  • SCAN AC mode 与 DC mode(待完成)

    千次阅读 2017-12-15 10:42:03
    在做 scan的时候,我们会有两种mode,一种叫DC mode,一种叫AC mode
  • GPIO MODE设置

    千次阅读 2017-08-13 10:20:35
    (1)GPIO_Mode_AIN 模拟输入  (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入  (4)GPIO_Mode_IPU 上拉输入  (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)...
  • LPUART 唤醒STOP MODE 下的MCU

    万次阅读 2019-12-19 10:55:49
    在很多低功耗应用中都需将MCU 进入STOP MODE 以节省更多的功耗,但是在以前的架构中,如果要达到这种应用,只能在进入低功耗模式之前将串口的管脚设置成普通的GPIO 的中断模式,虽然也可 以达到效果,但是这样会丢失第一...
  • old mode 100644 new mode 100755 的提示,如下图: 想起来中间执行过chmod的操作, 产生这个问题的原因就是: filemode的变化,文件chmod后其文件某些位是改变了的,如果严格的比较原文件和chmod后的文件,两者...
  • GAN——ModeCollapse

    万次阅读 多人点赞 2017-05-21 13:54:31
    ModeCollapse
  • mode模式介绍

    千次阅读 2017-09-30 11:47:00
    CentOS配置bond Bonding的模式一共有7...#defineBOND_MODE_ROUNDROBIN 0 (balance-rr模式)网卡的负载均衡模式 #defineBOND_MODE_ACTIVEBACKUP 1 (active-backup模式)网卡的容错模式 #defineBOND_MODE_XOR ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 337,920
精华内容 135,168
关键字:

mode