Mysql 如何在不将其作为主键的情况下向列中添加具有原则2的索引?

Mysql 如何在不将其作为主键的情况下向列中添加具有原则2的索引?,mysql,indexing,doctrine-orm,Mysql,Indexing,Doctrine Orm,我想向MySQL数据库中的表列添加索引。我正在使用条令2来创建我的数据库模式 我知道我可以用 /**@Id@Column(type=“integer”)*/ 创建主键。但是我的列既不能有唯一属性,也不能有主键属性。它应该只是我的表中的一个索引(MySQL知道这三种类型) 创建此类索引的正确语句是什么?如果要使用表,则表必须具有主键,请参阅: 每个实体类都必须有一个标识符/主键。您可以使用@Id注释选择用作标识符的字段。 参考: 要创建索引,请执行以下操作: 使用条令和ORM时: @ORM\Ta

我想向MySQL数据库中的表列添加索引。我正在使用条令2来创建我的数据库模式

我知道我可以用

/**@Id@Column(type=“integer”)*/
创建主键。但是我的列既不能有
唯一
属性,也不能有
主键
属性。它应该只是我的表中的一个
索引(MySQL知道这三种类型)


创建此类索引的正确语句是什么?

如果要使用表,则表必须具有主键,请参阅:

每个实体类都必须有一个标识符/主键。您可以使用
@Id
注释选择用作标识符的字段。
参考:

要创建索引,请执行以下操作:


使用条令和ORM时:

@ORM\Table(索引={@ORM\Index(name=“name\u idx”,columns={“name”})})

如果您将Symfony与条令一起使用,您还需要
使用
索引
类,以便注释正常工作

使用条令\ORM\Mapping\Index;
工作代码的一部分

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="AppBundle\Repository\CountryRepository")
 * @ORM\Table(indexes={@ORM\Index(columns={"slug"})})
 */
class Country extends AbstractTrans implements SuggesterItem

看看过去的问题是的,谢谢,这正是我想要的。我知道我必须使用主键,使用主键是一种很好的做法。但我需要其他列(除了我要添加索引的
id
之外的其他列)。如果您能在这里提供实际答案,而不是使用linkbad样式,而不使用@ORMMost people添加
use Doctrine\ORM\Mapping作为ORM,那就更好了然后
@ORM\Index(…)
结果看起来
在国家(slug)上创建索引IDX_5373C966989D9B62