是否可以将MySQL索引命名为与其索引的列相同?

sql*_*man 22 mysql indexing relational-database

为索引提供与其所基于的列相同的名称,它被认为是不好的形式吗?

就像你有一个名为'foo'的列并且想要在其上创建一个普通索引一样,是否可以将索引命名为'foo'?MySQL没有抱怨,但我想知道它的优点和缺点是什么.

OMG*_*ies 13

惯例并不重要,因为你一直在使用它.

也就是说,我用"ind_"作为索引名称的前缀; 约束获得"cns_"前缀.在任何一种情况下,列名称(s,如果是复合/覆盖).


Kno*_*ing 6

作为惯例,索引名称应该以它们所依赖的表的名称开头,例如: -

例如,让表名为" USERS",并且字段的名称为" id"和" username".然后索引名称可以是" IDX_USERS_ID_USERNAME".

但是,不要过于担心会议,只要在没有你帮助的情况下几个月后访问数据库的人都可以理解.

希望能帮助到你.

  • 某些数据库(Oracle)具有字符限制; 除非同一列名在多个表中,否则不应该使用表名... (3认同)
  • +1:SO非常适合保持你的脚趾=) (2认同)