Mysql 表名为';指数';

Mysql 表名为';指数';,mysql,Mysql,我有一个名为“Index”的表。我意识到这是MySQL中的一个关键字,我想知道如何在查询中引用这个表 我的错误: #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 ''Index' (ID) )' at line 9 使用反勾号: references `Inde

我有一个名为“Index”的表。我意识到这是MySQL中的一个关键字,我想知道如何在查询中引用这个表

我的错误:

#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 ''Index' (ID) )' at line 9
使用反勾号:

references `Index` (ID)
实际上,在创建
索引
表时,您已经这样做了(您必须使用反勾号,否则无法创建表):


您应该避免使用MySQL关键字命名数据库、表和列。

您可以使用反勾号而不是引号

CONSTRAINT grants_fk_index
    FOREIGN KEY (Index_fk)
    references `Index` (ID)

关键词如
索引
授权
;虽然至少,
grants
不是“保留”的。伙计们会告诉你,反勾号可以用——但你真的应该更改表名,避免保留关键字(以及表名中的空格或特殊字符)
CONSTRAINT grants_fk_index
    FOREIGN KEY (Index_fk)
    references `Index` (ID)