본문 바로가기
MySql

MySQL How can I add an INDEX with Doctrine 2 to a column without making it a primary key?

by 베이스 공부 2020. 12. 26.
반응형

MySQL 데이터베이스의 테이블 열에 index 를 추가하고 싶습니다. 저는 Doctrine 2를 사용하여 데이터베이스 체계를 만들고 있습니다.

나는 내가 사용할 수 있다는 것을 안다.

/** @Id @Column(type="integer") */

기본 키를 만듭니다. 그러나 내 열에는 unique 또는 primary key 속성이 없어야합니다. 내 테이블의 index 일뿐입니다 (MySQL은이 세 가지 유형을 알고 있습니다).

그러한 인덱스를 생성하기위한 적절한 진술은 무엇입니까?

 

해결 방법

 

교리로 작업하려면 테이블에 기본 키가 있어야합니다. 다음을 참조하십시오.

모든 엔티티 클래스에는 식별자 / 기본 키가 있어야합니다. @Id 주석으로 식별자 역할을하는 필드를 선택할 수 있습니다.



<?php
/**
 * @Entity
 * @Table(name="ecommerce_products",indexes={@Index(name="search_idx", columns={"name", "email"})})
 */
class ECommerceProduct
{
}

이것은 PHP 코드에서 스키마를 생성하는 경우에만 사용됩니다. 따라서 테이블이 이미 존재하는 경우 인덱스를 직접 추가 할 수도 있습니다.

 

참조 페이지 https://stackoverflow.com/questions/17991782

 

 

반응형

댓글