MariaDB 10.5 与 MySQL Server 8.0 的区别

MariaDB 10.5 与 MySQL Server 8.0 的区别子查询中应用不同一 查询结果集的列 在子查询的查询结果集表不同这个是我用到的表 CREATETABLE c num day day num int 11 NOTNULL PRIMARYKEY day num USINGBTREE INSERTINTO asd380 c num day day num VALUES 1 INSERTINTO asd380 c num day day num VALUES 2 INS

子查询中应用不同

一:查询结果集的列,在子查询的查询结果集表不同

这个是我用到的表。

CREATE TABLE `c_num_day` ( `day_num` int(11) NOT NULL, PRIMARY KEY (`day_num`) USING BTREE ); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (1); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (2); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (3); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (4); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (5); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (6); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (7); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (8); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (9); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (11); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (12); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (13); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (14); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (15); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (16); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (17); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (18); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (19); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (20); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (21); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (22); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (23); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (24); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (25); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (26); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (27); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (28); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (29); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (30); INSERT INTO `asd380`.`c_num_day`(`day_num`) VALUES (31); 

俩个数据库分别执行下面sql

select d1.day_num, (select count(1) from (select DISTINCT day_num from c_num_day d2 where d2.day_num<d1.day_num) d3) 前面有几天 from c_num_day d1 where day_num < day(now()); 

MySQL Server 8.0会正常执行
正常执行
MariaDB 10.5执行报错,Unknown column ‘d1.day_num’ in ‘where clause’,意思是“WHERE子句”中的未知列“d1.day_num”
在这里插入图片描述
我还经过了各种测试,也查看了MariaDB 10.5 对表的优化,不做其他测试和资料的表述。可以肯定,查询的结果集的列(d1.day_num),不能在子查询的查询结果集表(d3)中使用。mysql支持。



碰到这个是我在公司开发好了,用的是 MySQL Server 8.0。拿给现场人使用,现场人说报错,然后发现用的是MariaDB 10.5。当然真实碰到的sql 远不止这么简单。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233269.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最新手机号码归属地数据库(2017年4月1日)

    最新手机号码归属地数据库(2017年4月1日)2017年4月1日版近36万条记录celldb.cc最新号码归属地数据库手机号段数据库移动联通电信移动号段联通号段电信号段虚拟170号段171号段号码字段包括省市运营商邮编区号等信息移动号码:134135136137138139147150151152157158159178182183184187188联通…

    2022年7月22日
    13
  • 2021版 idea激活码(最新序列号破解)

    2021版 idea激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    64
  • phpstorm激活码2021 64位_通用破解码

    phpstorm激活码2021 64位_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    220
  • WebViewJavascriptBridge使用

    WebViewJavascriptBridge使用由于项目中使用到原生和 H5 交互的技术 其实这个也有很多的解决方法 最后选择使用一个叫 WebViewJavas 的进行操作 在项目使用中遇到很多问题 在这把配置和使用问题一一罗列出来步骤 1 import WebViewJavas h 2 interfaceHom UIWebViewDel property str

    2025年12月10日
    2
  • 工业大数据的价值体现_如何分析转型带来的价值

    工业大数据的价值体现_如何分析转型带来的价值工业视角的转变        如果说前三次工业革命分别从机械化、规模化、标准化、和自动化等方向大幅度地提高了生产力,那么第四次工业革命与前面三次最大的区别在于:不再以制造端的生产力需求为出发点,而是将客户端价值作为整个产业链的核心,改变以往的工业价值链从生产端向消费端、上游向下游推动的模式,从客户端的价值需求出发提供客制化的产品和服务,并以此作为整个产业链的共同目标使整个产业链的各个环节实现协同优…

    2022年9月27日
    4
  • Java中,为什么byte类型的取值范围为-128~127?

    Java中,为什么byte类型的取值范围为-128~127?在学习Java基础语法的时候,初学者的我们可能都会有这么一个疑问为什么byte类型的取值范围为什么是[-128,127]而不是[-127,127]。01111111表示最大的数值:127,因为第一位是符号位,所以11111111应该是最小的数值:-127,不是这样才对?在解释这个问题之前我们需要了解几个概念:机器数、真值、原码、反码、补码机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器

    2022年6月15日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号