有趣而又令人沮丧的一个,这个。我们有一个旧的数据库,仍然非常积极地使用多个Excel文件与VBA in,包括存档的项目与这类文件。
有一些代码可以这样做:
从myTable中选择值,其中someIndex =1及以上< 3.2
这在5.x上非常有效,因为我们的表中有一个名为"over“的列,其中包含适当的值。
但是,它在8.x上失败了,因为有一个新的关键字被添加到窗口中,称为"OVER“。所以很明显,它现在是无效的语法,在这里它不是以前。
有什么方法可以禁用特定数据库的关键字窗口吗?我意识到我可以将VBA脚本修改为在引号中添加"over“,但是由于我们的大多数归档项目都是只读Excel文件,所以这不是一个选项。
任何不涉及更改Excel的建议都将不胜感激!否则,我们就被5.x困住了,不能移动到8.x。
谢谢理查德
发布于 2021-11-25 18:48:22
over现在是一个关键字--从MySQL 8.0开始。(还有其他几个会导致语法错误的“新”关键字。) 8.1 (某个年份)可能会引入更多的新关键字。
为了避免将来出现这种情况,请在每个列名和表名周围加上backtics (`)。
发布于 2021-11-25 19:15:05
在MySQL中无法禁用某些关键字或内置函数。
您必须更改MySQL本身的源代码并构建一个自定义版本。没有关于如何做到这一点的指导,因为这并不是典型支持的MySQL用法。要做到这一点,您必须了解很多关于MySQL代码内部的知识。如果您想再次升级MySQL,那么您将不得不为未来的每个版本应用相同的修补程序。
我想您会发现,在VBA代码中,SQL查询中的工作分隔标识符会更少,即使您必须从头重写它们。
https://dba.stackexchange.com/questions/303110
复制相似问题