답변:
테이블을 변경하지 않아도되는 더 좋은 방법이 있습니다.
mysql> DROP INDEX email ON fuinfo;
여기서 email은 고유 키 (인덱스)의 이름입니다.
다음과 같이 다시 가져올 수도 있습니다.
mysql> CREATE UNIQUE INDEX email ON fuinfo(email);
여기서 IDEX 이후의 이메일은 색인의 이름이며 선택 사항이 아닙니다. INDEX 대신 KEY를 사용할 수 있습니다.
또한 다음과 같이 여러 열의 고유 한 결정을 생성 (제거) 할 수 있습니다.
mysql> CREATE UNIQUE INDEX email_fid ON fuinfo(email, fid);
mysql> DROP INDEX email_fid ON fuinfo;
여러 열 인덱스의 이름을 지정하지 않은 경우 다음과 같이 제거 할 수 있습니다.
mysql> DROP INDEX email ON fuinfo;
여기서 email은 열 이름입니다.
아래 쿼리를 사용하십시오.
ALTER TABLE `table_name` DROP INDEX key_name;
key_name을 모르는 경우 먼저 아래 쿼리를 시도하면 key_name을 얻을 수 있습니다.
SHOW CREATE TABLE table_name
또는
SHOW INDEX FROM table_name;
mysql 테이블에서 기본 키를 제거 / 삭제하려면 아래 쿼리를 사용하십시오.
ALTER TABLE `products` DROP INDEX `PRIMARY`;
코드 : http://chandreshrana.blogspot.in/2015/10/how-to-remove-unique-key-from-mysql.html
이것은 다른 사람들을 도울 수 있습니다
alter table fuinfo drop index fuinfo_email_unique
MySQL 5.7.11의 경우
1 단계 : 먼저 고유 키 가져 오기
이 쿼리를 사용하여 얻으십시오.
1.1) 테이블 생성 사용자 표시;
마지막으로 다음과 같습니다.
.....
.....
고유 키 UK_8bv559q1gobqoulqpitq0gvr6
( phoneNum
)
.....
....
2 단계 :이 쿼리에서 고유 키를 제거하십시오.
ALTER TABLE 사용자 DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;
3 단계 :이 쿼리로 테이블 정보를 확인하십시오.
DESC 사용자;
인덱스가 제거되었음을 나타냅니다.
그게 다야.
email
컬럼에 대한 외래 키가 존재하면 (오류 150) 이와 같은 키를 삭제하지 못할 수 있습니다 . 이 기능을 사용하려면 먼저 외래 키를 삭제 한 다음 인덱스를 삭제하고 나중에 외래 키를 다시 만드십시오. 예를 들어 ALTER TABLE fuinfo DROP foreign key fk_name_for_email;