MySQL语句语法错误,但从10年前使用的旧源代码中提取

MySQL语句语法错误,但从10年前使用的旧源代码中提取,mysql,java1.4,Mysql,Java1.4,我想在mySQL数据库中使用以下SQL查询: 当COLUMN1为NULL时选择case,然后选择“unknown”,否则从表1中选择COLUMN1、COLUMN2、COLUMN3、COLUMN4 我收到以下错误消息: SQL错误(1064):您的SQL语法有错误 我正在使用以下mySQL版本: 我的问题不仅是语法错误在哪里,而且是如何让一些10年前的java代码也连接到mySQL数据库,并且上面的查询工作正常 那么,SQL查询的语法是否有可能随着时间的推移而改变,是否有一些设置可以恢复这种“兼

我想在mySQL数据库中使用以下SQL查询:

当COLUMN1为NULL时选择case,然后选择“unknown”,否则从表1中选择COLUMN1、COLUMN2、COLUMN3、COLUMN4

我收到以下错误消息:
SQL错误(1064):您的SQL语法有错误

我正在使用以下mySQL版本:

我的问题不仅是语法错误在哪里,而且是如何让一些10年前的java代码也连接到mySQL数据库,并且上面的查询工作正常


那么,SQL查询的语法是否有可能随着时间的推移而改变,是否有一些设置可以恢复这种“兼容性”,因为我不得不更改旧java软件中的许多查询,以使它们全部运行

Oracle显然决定将旧的MySQL文档离线,因此我无法共享链接,但根据我的本地副本,MySQL 3.23.3中引入了
CASE
,并且
END
从来都不是可选的。这样的代码是不可能工作的。你责怪Java:是因为你做了一些没有共享的后处理吗?嗨,我启动了旧的应用程序:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:你的SQL语法有错误所以没有后期处理。你可以给我一个提示,说明查询语法是如何正确的吗?1)抱歉,我不明白获取语法错误如何证明实际执行的SQL查询是什么2)如果添加
END
子句是正确的,如果不添加则不是。我怀疑这已经改变了。