首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从MySQL 5.x移动到8.x -由于名为"over“的列失败

问从MySQL 5.x移动到8.x -由于名为"over“的列失败
EN

Database Administration用户
提问于 2021-11-25 13:48:41
回答 2查看 26关注 0票数 0

有趣而又令人沮丧的一个,这个。我们有一个旧的数据库,仍然非常积极地使用多个Excel文件与VBA in,包括存档的项目与这类文件。

有一些代码可以这样做:

从myTable中选择值,其中someIndex =1及以上< 3.2

这在5.x上非常有效,因为我们的表中有一个名为"over“的列,其中包含适当的值。

但是,它在8.x上失败了,因为有一个新的关键字被添加到窗口中,称为"OVER“。所以很明显,它现在是无效的语法,在这里它不是以前。

有什么方法可以禁用特定数据库的关键字窗口吗?我意识到我可以将VBA脚本修改为在引号中添加"over“,但是由于我们的大多数归档项目都是只读Excel文件,所以这不是一个选项。

任何不涉及更改Excel的建议都将不胜感激!否则,我们就被5.x困住了,不能移动到8.x。

谢谢理查德

EN

回答 2

Database Administration用户

发布于 2021-11-25 18:48:22

over现在是一个关键字--从MySQL 8.0开始。(还有其他几个会导致语法错误的“新”关键字。) 8.1 (某个年份)可能会引入更多的新关键字。

为了避免将来出现这种情况,请在每个列名和表名周围加上backtics (`)。

票数 1
EN

Database Administration用户

发布于 2021-11-25 19:15:05

在MySQL中无法禁用某些关键字或内置函数。

您必须更改MySQL本身的源代码并构建一个自定义版本。没有关于如何做到这一点的指导,因为这并不是典型支持的MySQL用法。要做到这一点,您必须了解很多关于MySQL代码内部的知识。如果您想再次升级MySQL,那么您将不得不为未来的每个版本应用相同的修补程序。

我想您会发现,在VBA代码中,SQL查询中的工作分隔标识符会更少,即使您必须从头重写它们。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/303110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档