在Maria DB 10.3上忽略/使用MSSQL的MSSQL标识符括号

时间:2019-06-11 10:30:05

标签: sql mariadb

我们将本机Windows应用程序的数据库引擎从MSSQL切换到了MariaDB。不幸的是,应用程序内只有(一个)错误的查询,例如:

EXAMPLE的{​​EXAMPLEID] ='123456'中选择MY_CATALOG;

它会引发语法错误,因为“ EXAMPLEID”周围的[]括号在此处不是有效的SQL。

正如我所见,MariaDB 10.4将实现一个接受这些括号的MSSQL模式。但是,在MariaDB 10.3服务器端是否有任何可能/选项可以忽略此查询,以使我们的应用正常运行?我们无法访问该应用程序本身的源代码……

有什么想法吗? :)

最诚挚的问候

1 个答案:

答案 0 :(得分:0)

在MariaDB 10.4(将在第二天成为GA)中,您可以通过将SQL模式设置为MSSQL来实现。

mysql> set sql_mode="MSSQL";
Query OK, 0 rows affected (0.00 sec)

mysql> create table t1 (a int);
Query OK, 0 rows affected (0.02 sec)

mysql> insert into t1 values (1);
Query OK, 1 row affected (0.02 sec)

mysql> select * from t1 where [a]=1;
+------+
| a    |
+------+
|    1 |
+------+
1 row in set (0.01 sec)