首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我更新到了MariaDB 10.2.20以使用CTE。在phpMyAdmin中仍然得到“无法识别的语句类型.(接近于)”

MariaDB是一个开源的关系型数据库管理系统,它是MySQL的一个分支。MariaDB 10.2.20是MariaDB的一个特定版本,它引入了公共表表达式(CTE)的功能。

公共表表达式(CTE)是一种在查询中定义临时表的方法,它可以提高查询的可读性和灵活性。通过使用CTE,可以将复杂的查询分解为更简单的部分,并且可以在查询中多次引用这些临时表。

在phpMyAdmin中出现“无法识别的语句类型.(接近于)”的错误可能是由于phpMyAdmin版本不支持MariaDB 10.2.20引入的CTE功能。为了解决这个问题,你可以尝试升级phpMyAdmin到最新版本,以确保它支持所需的功能。

另外,你还可以尝试使用其他的数据库管理工具,如MySQL Workbench、Navicat等,它们通常会更及时地支持新的数据库功能。

总结:

  • MariaDB是一个开源的关系型数据库管理系统,是MySQL的一个分支。
  • MariaDB 10.2.20引入了公共表表达式(CTE)的功能。
  • 公共表表达式(CTE)是一种在查询中定义临时表的方法,提高查询的可读性和灵活性。
  • 在phpMyAdmin中出现“无法识别的语句类型.(接近于)”的错误可能是由于phpMyAdmin版本不支持MariaDB 10.2.20引入的CTE功能。
  • 可以尝试升级phpMyAdmin到最新版本或使用其他数据库管理工具来解决这个问题。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SQL的巨大飞跃:MySQL 8.0发布

“你仍在使用SQL-92吗?”是“新SQL”演讲的开篇问题。提出这个问题后,竟然有大部分观众坦承仍在使用25年前的技术。...很多开发人员仍然25年前使用SQL的方式使用SQL,这实在太糟糕了。认为主要原因是开发人员缺乏知识和兴趣,以及数据库产品对新SQL的支持不足。 我们来看看MySQL的支持程度。...或换句话说,他们还能忍受的抨击多久;) 除了check约束之外,MariaDB 10.2还引入了窗口函数和通用表表达式(CTE)。那时候,MySQL有一个CTE测试版,但没有窗口功能。...MariaDB正在迅速改进。 10.3MariaDB被设置为发布“系统版本化表”。简而言之:一旦激活表格,系统版本控制就会保留更新和删除行的旧版本。...默认情况下,查询将像往常一样返回当前版本,但可以使用特殊的语法(as of)来获取旧版本。你可以MariaDB的公告阅读更多关于此的信息。 SQL标准2011年引入了系统版本管理。

1.2K40

如何在Debian 9上安装和保护phpMyAdmin

创建了phpMyAdmin,以便用户可以通过Web界面与MariaDB进行交互。本指南中,我们将讨论如何安装和保护phpMyAdmin,以便您可以安全地使用它来管理Debian 9系统上的数据库。...这是通过更新服务器的软件包索引然后使用apt包系统下拉文件并将其安装在您的系统上来完成的: sudo apt update sudo apt install phpmyadmin php-mbstring...Debian系统上的新安装使用unix_socket来将 root MariaDB用户设置为默认使用插件进行身份验证,而不是使用密码进行身份验证。.../phpmyadmin 如果您还没有创建MariaDB用户,或者如果您有,但您想创建另一个用户只是为了通过phpMyAdmin管理数据库,请继续本节了解如何设置它。...您可以通过键入以下内容创建必要的文件并使用root权限文本编辑器打开它: sudo nano /usr/share/phpmyadmin/.htaccess 在此文件,输入以下信息: AuthType

2.1K10

Centos7安装配置Apache+PHP+Mysql+phpmyadmin

大家好,又见面了,是你们的朋友全栈君。...Apache后无法访问的问题,但是一般服务器访问Apache可能需要如下操作: (1)防火墙开放80端口 现在需要将 http 服务加入防火墙允许外部访问, firewall-cmd --add-service...提示输入新密码和重复输入新密码,重复输入两次后,出现更新密码成功提示。 然后一路输入y就可以。 Remove anonymous users? [Y/n] y ... Success!...保存退出 浏览器输入服务器地址,查看是否可以看到: 页面效果 四、安装phpmyadmin 使用yum安装phpmyadmin yum install phpmyadmin php-mcrypt...phpMyAdmin 的默认安装目录是 /usr/share/phpMyAdmin,同时会在 Apache 的配置文件目录自动创建虚拟主机配置文件 /etc/httpd/conf.d/phpMyAdmin.conf

68730

MySQL数据库编程基础入门1

12.通用表表达式(Common Table Expressions CTE):复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。...; 创建表的同时创建索引,当对数据库查询的数据建立索引时候采用各类算法提高查询效率,常规的算法是二叉树算法优化查询,简单的说类似「索引就像书的目录, 通过书的目录就准确的定位到了书籍具体的内容],只不过这里把引入到数据的物理地址..., 最坏的情况下需要匹配一亿次才能得到结果,用大O标记法就是O(n)最坏时间复杂度,这是无法接受的,而且这一亿条数据显然不能一次性读入内存供程序使用, 因此这一亿次匹配在不经缓存优化的情况下就是一亿次IO.../tmp/)无法访问, phpMyAdmin无法缓存模板文件,所以会运行缓慢。...’’单引号的时候,会将其中数值当做年份的最右侧的值,比如’0’默认值为2000年,MySQL默认匹配更多的值; 由于MySQL支持不严格的语句匹配的特性所以输入日期类型值是非常灵活的; 实际开发建议使用

2.8K20

如何在Ubuntu 14.04上使用Docker Compose安装Wordpress和PhpMyAdmin

没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...让我们将一个MariaDB图像添加到混合并将其链接起来修复它。...我们在这里做的是定义一个新的名为wordpress_db容器,并告诉它使用Docker Hubmariadb映像。...因为这些都是Docker的官方映像,并且遵循Docker的所有最佳实践,所以这些映像的每一个都有预先定义的持久卷 - 这意味着如果重新启动容器,您的博客文章仍然会存在。...步骤5 - 将文档根存储主机文件系统上(可选) 可以使用Docker数据卷主机文件系统上存储WordPress的文档根目录,主机和容器之间共享文件。 试一试吧。

1.6K00

全网最正确的NAS下搭建chemex(咖啡壶)信息化资产管理系统 - 熊猫不是猫QAQ

图片 封面 前言 前段时间其实就看到了有部署chemex的教程了,那时候还评论说都有人写了那我就不写了吧。...这样我们需要准备的的套件便有mariaDBphpMyadmin、Web Station以及php7.4。...文件内容如下: # 欢迎使用 chemex,您开始之前,请按照指引完成配置 # 基础配置: ### 第一步:数据库配置 #数据库类型,不需要修改(兼容mariadb) DB_CONNECTION=...这里直接在终端机输入命令:php artisan chemex:install就可以了,中间会弹出秘钥无法使用,是否新建秘钥,输入yes即可。...整个容器功能很丰富且目前项目已经是完善阶段了,可以直接使用,作者也发布声明说明了后续只会修复一些问题,不会再有大的更新了。

1.8K40

SQLServerCTE通用表表达式

本期专栏将给出示例并解释它们的使用方法和适用情况。还将演示 CTE 是如何处理递归逻辑并定义递归 CTE 的运行方式的。...请注意,本专栏讨论的所有代码都可从《MSDN® 杂志》网站下载获得,而且它们还使用 SQL Server 2005 附带的 Northwind 和 AdventureWorks 数据库。...例如,图 1 ,已经创建了一个视图,并为另一个 T-SQL 语句使用。然而,当您想要收集数据并且只使用一次的时候,视图未必是最佳解决方案。...另外,CTE 是语言级别的构造,也就是说 SQL Server 不会在内部创建临时表或虚拟表。每次紧随其后的查询引用 CTE 的底层查询时都会调用它。...CTE WITH 关键字开始。然而,如果 CTE 不是批处理的第一个语句,则必须在 WITH 关键字前添加一个分号。

3.8K10

mariadb的一些特性(

最近在看看MariaDB的官网上介绍MariaDB的功能和特性,大致罗列了本人觉得有必要了解下的几个地方: 支持到列级别的压缩 CREATE TABLE `cmp2` ( `id` bigint(20)...1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=Aria CREATE SEQUENCE将创建一个序列,使用.../kb/en/library/invisible-columns/ 窗口函数支持 https://mariadb.com/kb/en/window-functions/ 支持WITH表达式(CTE) BLOB...例如,插入许多行或大值的批处理INSERT语句,或者一个查询触及多个行的基于行的事件。...10.2.4后默认是mixed,最好我们还是改成row格式的 增加 JSON数据类型的支持 新增参数 read_binlog_speed_limit  允许限制slave从master读取binlog

1.2K20

SQL高级查询方法

Transact-SQL ,包含子查询的语句和语义上等效的不包含子查询的语句(即联接的方式)性能上通常没有差别。但是,一些必须检查存在性的情况使用联接会产生更好的性能。...用 UNION 组合的结果集中的对应列或各个查询中所使用的任何部分列都必须具有相同的数据类型,并且可以两种数据类型之间进行隐式数据转换,或者可以提供显式转换。...表通过 UNION 运算所得到的列名称是从 UNION 语句中的第一个单独查询得到的。...不需要常规使用视图时替换视图,也就是说,不必将定义存储元数据。 启用按从标量嵌套 select 语句派生的列进行分组,或者按不确定性函数或有外部访问的函数进行分组。...同一语句中多次引用生成的表。 使用 CTE 可以获得提高可读性和轻松维护复杂查询的优点。查询可以分为单独块、简单块、逻辑生成块。之后,这些简单块可用于生成更复杂的临时 CTE,直到生成最终结果集。

5.7K20

SQL优化(五) PostgreSQL (递归)CTE 通用表表达式

WITH中使用数据修改语句 文章开头处提到,WITH可以不仅可以使用SELECT语句,同时还能使用DELETE,UPDATE,INSERT语句。...如果WITH里面使用的不是SELECT语句,并且没有通过RETURNING子句返回结果集,则主查询不可以引用该CTE,但主查询和WITH语句仍然可以继续执行。...FULL JOIN recursive term不允许使用GROUP BY和HAVING 不允许recursive term的WHERE语句的子查询中使用CTE的名字 不支持recursive term...CTE作aggregation recursive term不允许使用ORDER BY LIMIT / OFFSET不允许recursive term中使用 FOR UPDATE不可在recursive...term中使用 recursive termSELECT后面不允许出现引用CTE名字的子查询 同时使用多个CTE表达式时,不允许多表达式之间互相访问(支持单向访问) recursive term不允许使用

2.5K60

SQL语句逻辑执行过程和相关语法详解

但是MySQL、MariaDB和它们小有不同,它们对标准SQL进行扩展,标准SQL不允许使用的语法,MySQL、MariaDB可能可以使用,但很多时候这会违反关系模型的范式要求。...本文也多处通过这两个模型来分析为什么标准SQL不允许某些语法,以及为什么MySQL可以支持这些"不标准"的语法。 1.2 各数据库系统的语句逻辑处理顺序 SELECT语句为例。...(3).根据联接类型,将保留表的外部行添加到vt2得到虚拟表vt3。 (4).对vt3执行where条件筛选,得到虚拟表vt4。 (5).执行分组,得到虚拟表vt5。...也就是说表表达式挑选出来的行就像表一样,其内数据行仍然是无序的,以后访问它们的时候是按照物理存储顺序进行访问的,即使表表达式的定义语句使用了ORDER BY子句。...仍然使用上一小节加工后的数据结构来说明: 标准SQL之所以不能使用sid、name和age列,是因为group by的每个分组都是单行(标量)结果,如果使用了这些列,会违反关系模型的范式要求(一行对多行

3.5K20

2018-09-10 MariaDB和MySQL全面对比:选择数据库需要考虑这几点

让我们来看一下只有其中一个数据库专门提供的功能: JSON数据类型——从5.7版本开始,MySQL支持由RFC 7159定义的原生JSON数据类型,可以高效地访问JSON文档的数据。...这个功能允许创建未在SELECT *语句中出现的列,而在进行插入时,如果它们的名字没有出现在INSERT语句中,就不需要为这些列提供值。 10....以下是这两个数据库复制配置方面的一些差别: MySQL的默认二进制日志格式是基于行的,而在MariaDB,默认的二进制日志格式是混合式的。...因此,我们无法通过简单的方案在这两个数据库之间进行迁移。 大多数数据库管理员都希望MariaDB只是作为MySQL的一个branch,这样就可以轻松地两者之间进行迁移。...MariaDB实际上是MySQL的一个fork,这意味着它们之间进行迁移需要考虑很多东西。 存储引擎 MariaDB比MySQL支持更多的存储引擎类型

2.2K30

MariaDB和MySQL全面对比:选择数据库需要考虑这几点

JSON数据类型——从5.7版本开始,MySQL支持由RFC 7159定义的原生JSON数据类型,可以高效地访问JSON文档的数据。...这个功能允许创建未在SELECT *语句中出现的列,而在进行插入时,如果它们的名字没有出现在INSERT语句中,就不需要为这些列提供值。 10....以下是这两个数据库复制配置方面的一些差别: MySQL的默认二进制日志格式是基于行的,而在MariaDB,默认的二进制日志格式是混合式的。...因此,我们无法通过简单的方案在这两个数据库之间进行迁移。 大多数数据库管理员都希望MariaDB只是作为MySQL的一个branch,这样就可以轻松地两者之间进行迁移。...MariaDB实际上是MySQL的一个fork,这意味着它们之间进行迁移需要考虑很多东西。 存储引擎 MariaDB比MySQL支持更多的存储引擎类型

2.7K10

T-SQL基础(三)之子查询与表表达式

所有列必须显式指定名称 所有列名必须唯一 表表达式分为:派生表、公用表表达式、视图三种类型。其中,派生表与公用表表达式只适用于单语句范围,即,只存在于当前查询语句中。...但,不同于派生表,CTE可以一次查询多次使用(但不能嵌套使用而派生表可以): USE WJChi; ​ WITH YearlyCount AS ( SELECT YEAR(...我们也可以一次查询定义多个CTE: -- WITH只需要使用一次 WITH Temp1 AS ( ), Temp2 AS ( ) SELECT ......视图一旦创建,底层数据表发生变更后,其不会自动更新。因此,视图中使用SELECT语句时尽可能显式的指定所需列,而不是使用SELECT *。...可以使用存储过程:sp_refreshview和sp_refreshsqlmodule来更新视图的元数据,或者使用ALTER语句修改视图定义。

1.4K10

一句SQL完成动态分级查询

最近的活字格项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式显然是不能满足要求...(Common Table Expression)还不太熟悉,这里简单说一下,有兴趣的同学可以google或者百度,介绍很多(这里SQLite举例): 还是更喜欢称CTE(Common Table...Expression)为“公用表变量”而不是“公用表达式”,因为从行为和使用场景上讲,CTE更多的时候是产生(分迭代或者不迭代)结果集,供其后的语句使用(查询、插入、删除或更新),如上述的例子就是一个典型的利用迭代遍历树形结构数据...附:SQLiteCTE(WITH关键字)语法图解: WITH ?...总结 CTE是解决一些特定问题的利器,但了解和正确的使用是前提,决定将已有的一些SQL重构为CTE之前,确保对已有语句有清晰的理解以及对CTE足够的学习!

1.3K80

T-SQL基础(三)之子查询与表表达式

所有列必须显式指定名称 所有列名必须唯一 表表达式分为:派生表、公用表表达式、视图三种类型。其中,派生表与公用表表达式只适用于单语句范围,即,只存在于当前查询语句中。视图则可以被多条查询语句复用。...但,不同于派生表,CTE可以一次查询多次使用(但不能嵌套使用而派生表可以): USE WJChi; WITH YearlyCount AS ( SELECT YEAR(orderdate...我们也可以一次查询定义多个CTE: -- WITH只需要使用一次 WITH Temp1 AS ( ), Temp2 AS ( ) SELECT ......视图一旦创建,底层数据表发生变更后,其不会自动更新。因此,视图中使用SELECT语句时尽可能显式的指定所需列,而不是使用SELECT *。...可以使用存储过程:sp_refreshview和sp_refreshsqlmodule来更新视图的元数据,或者使用ALTER语句修改视图定义。

1.6K40
领券