• mysql问题汇总——持续更新


    1.this is incompatible with sql_mode=only_full_group_by

    set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    2.表“TableDetails”中列“IsPrimaryKey”的值为 DBNull

    set global optimizer_switch='derived_merge=off';
    set optimizer_switch='derived_merge=off';
    如果执行到此处仍然无效,重启mysql再次执行即可,多次亲测有效

     3.navicat设置外键保存后消失

    设置数据库引擎为InnoDB
    

     4.MySQL8.0 Authentication method 'caching_sha2_password' not supported by any of the available plugins.

    修改默认的配置文件
    C:ProgramDataMySQLMySQL Server 8.0my.ini
    default_authentication_plugin=mysql_native_password
    修改密码并重启服务
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则 
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; #更新一下用户的密码 
    FLUSH PRIVILEGES; #刷新权限 

     5.变量赋值

    用户变量,在客户端链接到数据库实例整个过程中用户变量都是有效的。
    
    MySQL中用户变量不用事前申明,在用的时候直接用“@变量名”使用就可以了。 
    
    第一种用法:set @num=1; 或set @num:=1; //这里要使用set语句创建并初始化变量,直接使用@num变量 
    
    第二种用法:select @num:=1; 或 select @num:=字段名 from 表名 where ……, 
    
    select语句一般用来输出用户变量,比如select @变量名,用于输出数据源不是表格的数据。
    
    注意上面两种赋值符号,使用set时可以用“=”或“:=”,但是使用select时必须用“:=赋值”

     6.MYSQL5.7版本sql_mode=only_full_group_by问题

    1、关闭only_full_group_by 模式
    2、使用any_value(field)允许非分组字段出现
    select count(*) as num,any_value(a.name)
  • 相关阅读:
    云计算分布式大数据神器Spark实战高手之旅
    Spring IOC及AOP学习总结
    Win7下不能查看xp系统共享的文件,解决方法
    c#怎样获取excel单元格的RGB颜色
    MySQL 全角转换为半角
    【剑指offer】旋转数组的最小值
    POJ 2524 :Ubiquitous Religions
    GitLal+sourceTree版本号管理
    ASP.NET MVC 过滤器(五)
    Java设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/ives/p/7989780.html
Copyright © 2020-2023  润新知