반응형
테이블 생성 명령에서 중복 키와 관련된 1022 오류가 발생합니다. 쿼리를 살펴본 결과 중복이 발생하는 위치를 이해할 수 없습니다. 다른 사람이 볼 수 있습니까?
SQL query:
-- -----------------------------------------------------
-- Table `apptwo`.`usercircle`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `apptwo`.`usercircle` (
`idUserCircle` MEDIUMINT NOT NULL ,
`userId` MEDIUMINT NULL ,
`circleId` MEDIUMINT NULL ,
`authUser` BINARY NULL ,
`authOwner` BINARY NULL ,
`startDate` DATETIME NULL ,
`endDate` DATETIME NULL ,
PRIMARY KEY ( `idUserCircle` ) ,
INDEX `iduser_idx` ( `userId` ASC ) ,
INDEX `idcategory_idx` ( `circleId` ASC ) ,
CONSTRAINT `iduser` FOREIGN KEY ( `userId` ) REFERENCES `apptwo`.`user` (
`idUser`
) ON DELETE NO ACTION ON UPDATE NO ACTION ,
CONSTRAINT `idcategory` FOREIGN KEY ( `circleId` ) REFERENCES `apptwo`.`circle` (
`idCircle`
) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE = INNODB;
MySQL said: Documentation
#1022 - Can't write; duplicate key in table 'usercircle'
해결 방법
데이터베이스에 이름이 iduser
또는 idcategory
인 제약 조건이 이미있을 가능성이 높습니다. 그렇다면 제약 조건의 이름을 바꾸십시오.
제약 조건은 생성 / 변경하는 특정 테이블뿐만 아니라 전체 데이터베이스에 대해 고유해야합니다.
제약 조건이 현재 사용중인 위치를 확인하려면 다음 쿼리를 사용할 수 있습니다.
SELECT `TABLE_SCHEMA`, `TABLE_NAME`
FROM `information_schema`.`KEY_COLUMN_USAGE`
WHERE `CONSTRAINT_NAME` IN ('iduser', 'idcategory');
참조 페이지 https://stackoverflow.com/questions/18056786
반응형
'MySql' 카테고리의 다른 글
MySQL How can I add an INDEX with Doctrine 2 to a column without making it a primary key? (0) | 2020.12.26 |
---|---|
MySQL 서버에서 현재 날짜를 얻는 방법 (0) | 2020.12.26 |
MySQL datetime 형식은 10 분 추가 (0) | 2020.12.25 |
MySQL 데이터베이스에 연결할 수 없습니다. "치명적인 오류 : 클래스 'mysql_connect'를 찾을 수 없음 ..."오류가 발생합니다. (0) | 2020.12.25 |
MySQL Node.js로 데이터 삽입 (0) | 2020.12.25 |
댓글