2017-09-29 9 views
0

데이터베이스에 익숙하지 않고 MySql 데이터베이스에 FK (IDE 사용)를 추가하려고합니다.FK를 추가하려고 할 때이 오류 메시지가 나타나는 이유는 무엇입니까? # 23000 쓰지 마세요. '# sql-482_1ede'테이블의 중복 키

는 그 후 나는 FK를 추가 나는 다음과 같은 오류 메시지를 얻을 :

#23000Can't write; duplicate key in table '#sql-482_1ede' 
while executing: 
ALTER TABLE Localization ADD CONSTRAINT FK_Localization_Country FOREIGN KEY (country_id) 
    REFERENCES Country (id) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION 

문제는 내가 (내가 과거에 그것을했다하지만 전체 현지화 테이블을 제거하고 나는 다시이 FK를하지 않은 것입니다 그것).

왜이 오류 메시지가 나타 납니까? 이 문제를 해결하려면 어떻게해야합니까?

+2

가능한 https://stackoverflow.com/questions 중복/23954131/mysql-error-1022-23000-cant-write-duplicate-key-in-table-sql-2b8-2/23954287, fk 이름 변경 시도 –

답변

0

외래 키는 일반적으로 고유 한 데이터를 가진 마스터 테이블의 키를 참조해야합니다. 그렇지 않으면 데이터베이스 시스템은 종속 테이블의 어느 행이 마스터 테이블의 어느 행에 속하는지 알 수 없습니다.

따라서 마스터 테이블 (Country)에 여러 번 같은 id이있는 것 같습니다. 외부 키를 추가하기 전에이 상황을 해결해야합니다.

0

독자적으로 해결되었습니다. 문제는 동일한 이름의 제약 조건을 포함하는 다른 테이블이 있는데 다른 테이블에서 같은 이름의 제약 조건을 여러 개 가질 수없는 것 같습니다.