답변:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
MySQL 5.7.4 이상의 경우 :
ALTER TABLE mytbl ADD UNIQUE (columnName);
MySQL 5.7.4부터 ALTER TABLE에 대한 IGNORE 절이 제거되고 사용시 오류가 발생합니다.
따라서 IGNORE 키워드가 더 이상 지원되지 않으므로 중복 항목을 먼저 제거하십시오.
ALTER
이 작업을 수행 하기 전에 사전 처리를 수행해야합니다 .
ALTER IGNORE
데이터 안전을 위해 MySQL 버전> 5.5 및 InnoDB에서 여전히 중복 오류가 발생할 수 있습니다. 복제 된 행 중 첫 번째 행을 유지하는 것이 올바른지 확인하려면을 시도하십시오 set session old_alter_table=1
. 다시 설정하는 것을 잊지 마십시오. mysqlolyk.wordpress.com/2012/02/18/…
이 쿼리를 db phpmyadmin에 작성하십시오.
ALTER TABLE TableName ADD UNIQUE (FieldName)
예 : ALTER TABLE user ADD UNIQUE (email)
제약 조건의 이름도 지정하려면 다음을 사용하십시오.
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);
CREATE UNIQUE INDEX foo ON table_name (field_name)
해당 SQL을 실행하기 전에 해당 열에서 중복 값을 제거해야합니다. 해당 열에 기존 중복 값이 있으면 mysql 오류 1062가 발생합니다.
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
정답입니다
삽입 부
INSERT IGNORE INTO mytable ....
이 코드는 기존 테이블의 고유 키를 설정하기 위해 문제를 해결하는 것입니다.
alter ignore table ioni_groups add unique (group_name);
If IGNORE is specified, only the first row is used of rows with duplicates on a unique key, The other conflicting rows are deleted.
문서