【问题标题】:issue in MySQL query due Table name 'CASE'由于表名'CASE'导致MySQL查询中的问题
【发布时间】:2020-09-03 13:20:44
【问题描述】:

我从代码峡谷安装了一个脚本,其中有一个名为 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 的保留字,但现在我该如何解决这个问题,因为我无法更改表名,也无法将其修改为整个脚本。

【问题讨论】:

标签: mysql sql database database-design phpmyadmin


【解决方案1】:

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

select count(*)
from `CASE`

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

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

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    相关资源
    最近更新 更多