MySQL 查询中的问题由于 Table 名称 'CASE'

issue in MySQL query due Table name 'CASE'

我已经从 code canyon 安装了一个脚本,它有一个名为 Case 的 table。

当我尝试执行查询时

SELECT COUNT(*) as total FROM case

它显示以下错误

Static analysis:

1 errors were found during analysis.

Unexpected end of CASE expression (near "" at position 0)
SQL query: Documentation

SELECT COUNT(*) as total FROM case

MySQL said: Documentation

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'case' at line 1

我知道大小写是 MYSQL 的保留字,但现在我该如何解决这个问题,因为我无法更改 table 名称,也无法将其修改为整个脚本。

case 对于 table 或列名来说是一个非常糟糕的名称。它显然是一个 SQL 关键字。但是,如果您无法修复它,请使用反引号:

select count(*)
from `CASE`

对名称进行转义并告诉 MySQL 将其视为某物的名称,而不是关键字。

我鼓励您弄清楚如何修复数据库。我通常以复数命名 tables -- 例如 cases。首先,它们 复数,因为它们几乎总是不止一行。副作用是复数与更少的关键字冲突。