在Mysql中,索引名称必须在整个数据库中是唯一的吗?

oce*_*800 25 mysql sql indexing

例如,如果我有两个表Teacher并且Student有一个名为的列IDNumber,我是否必须单独命名索引,如下所示:

IDNum_teach
IDNum_stu 
Run Code Online (Sandbox Code Playgroud)

或者我可以在每个表上创建一个索引IDNumber并为它们命名IDNum吗?

小智 25

是的,您可以为这两个表使用相同的索引名称.

CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX IDnum [index_type] ON tbl_name(index_col_name,...)[index_type]


Kir*_*ell 5

SQL 数据库中的每个表本质上都是独立的。所以,是的,您可以IDNumber在每个表中使用相同的列名。

  • 谢谢,但我知道列名可以相同,我问的是索引。 (3认同)
  • 想象一下,如果你必须想出一个新的列名 (3认同)