MySQL에서 외래 키 삭제
외래 키 제약 조건이 있는 테이블을 수정하려고 하면 특정 외래 키를 제거하지 못하는 오류가 발생할 수 있습니다. . 이 문제는 DROP FOREIGN KEY 문에서 제약 조건 이름 대신 인덱스 이름을 사용할 때 발생합니다.
다음 예를 고려하세요.
CREATE TABLE location ( locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ... ) ENGINE = InnoDB; CREATE TABLE assignment ( assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, locationID INT NOT NULL, FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID) ... ) ENGINE = InnoDB; CREATE TABLE assignmentStuff ( ... assignmentID INT NOT NULL, FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID) ) ENGINE = InnoDB;
할당 테이블에서 locationIDX 외래 키를 삭제하려면 , 올바른 구문은 다음과 같습니다.
ALTER TABLE assignment DROP FOREIGN KEY locationIDXconstraint;
참고: locationIDXconstraint는 실제 제약 조건 이름으로 대체되어야 합니다.
인덱스 이름이 아닌 제약 조건 이름을 지정하면 오류 없이 외래 키 제약 조건을 성공적으로 제거할 수 있습니다.
위 내용은 오류 없이 MySQL에서 외래 키를 어떻게 삭제합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!