Phpmyadmin 检查MariaDB中的约束SQL

Phpmyadmin 检查MariaDB中的约束SQL,phpmyadmin,mariadb,constraints,Phpmyadmin,Mariadb,Constraints,据MariaDB介绍,ADB现在支持检查约束。 运行此SQL命令时: CREATE TABLE t1 (a INT CHECK (a>2), b INT CHECK (b>2), CONSTRAINT a_greater CHECK (a>b) ); 我得到以下错误: 因此,如果CHECK关键字正好位于字段后面,则接受。 如果我尝试在单独的一行中添加约束,它将不起作用。 请注意,我尝试运行的命令正是ma

据MariaDB介绍,ADB现在支持检查约束。 运行此SQL命令时:

CREATE TABLE t1 (a INT CHECK (a>2), 
                 b INT CHECK (b>2), 
                 CONSTRAINT a_greater CHECK (a>b)
);
我得到以下错误:

因此,如果CHECK关键字正好位于字段后面,则接受。 如果我尝试在单独的一行中添加约束,它将不起作用。 请注意,我尝试运行的命令正是mariadb.com本身建议的命令

为什么第一个被接受,第二个被拒绝


我的DBMS是MariaDB 10.4.11

看起来这些错误来自IDE,而不是数据库。您确定已将其配置为使用MariaDB 10.4语法吗?您是对的。即使有这个错误,我也运行了这个查询,而且它是有效的。现在我想将其配置为使用MariaDB 10.4语法,但我不知道IDE是什么?通常在“设置”中有一个地方可以指定所有语言版本。请检查。@wchiquito的评论是最好的(可能应该作为答案发布在这里);这目前是phpMyAdmin使用的语言解析器的一个bug(或技术上的增强)。现在,您可以忽略解析器错误并手动运行SQL命令。phpMyAdmin会自动检测数据库服务器和版本,因此您不必将其配置为MariaDB模式。