unixODBC 到 MariaDb:获取 mariadb-connector-odbc 以引用保留列名称

问题描述 投票:0回答:1

我有一个遗留应用程序,它通过 unixODBC 与 MariaDb 进行通信,并使用列名“partition”,这是一个保留关键字。我可以在失败的查询中看到它确实如此

insert into table1 (....,partition,...) values(....,1234,....);

这将会失败。 unixODBC 及其驱动程序之间是否有接口,或者 mariadb-connector-odbc 中的某些内容会通知它引用列名作为标识符

我希望

insert into table1 (....,`partition`,...) values(....,1234,....);

我将 unixODBC-2.3.9 与 mariadb-connector-odbc-3.1.12 与 MariaDB 10.5 一起使用。

mariadb odbc unixodbc
1个回答
0
投票

简单的答案是否定的。 unixODBC 驱动程序、Connector/ODBC 或 Connector/C 都不会通知您有关保留字的信息。

这样的功能需要在客户端解析语句并显着降低性能。 SQL 语句由 MariaDB 服务器解析,如果存在未加引号的保留名称,该服务器会返回语法错误。

不要使用保留名称作为列名称,或者始终用反引号引用列名称。

© www.soinside.com 2019 - 2024. All rights reserved.