由于表名“case”,mysql查询中出现问题

dhxwm5r4  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(427)

我已经安装了一个来自CodeCanyon的脚本,它有一个名为case的表。
当我尝试执行查询时

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

我知道这个case是mysql的一个保留字,但是现在我如何解决这个问题,因为我不能更改表名,也不能将它修改为整个脚本。

mcvgt66p

mcvgt66p1#

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

select count(*)
from `CASE`

它转义名称并告诉mysql将其视为某个对象的名称,而不是关键字。
我鼓励您找出如何修复数据库。我通常用复数来命名表格-- cases 例如。首先,它们是复数,因为它们几乎总是不止一行。一个副作用是复数与更少的关键字冲突。

相关问题