2012-01-02 3 views
1

나는 두MySQL의 테이블 생성 오류

회원라는 이름의 테이블이 - 열 ID (기본 키), 이름, 이메일 &

주제 - 열을 아이디, topic_type, CREATED_BY이 (가) 작성한.

나는 열을이 항목에 대한 멤버를 매핑하는 새 테이블 MEMBER_TO_TOPICS를 만들 MEMBERID, 는, (주제 테이블 ID의 외래 키)를 한 TopicID (회원 테이블 ID외래 키) created_time.
여기 쿼리가 실행하려고합니다.

CREATE TABLE `gsraisin`.`member_to_topics` (
`member_id` VARCHAR(50) NOT NULL, 
`topic_id` VARCHAR(50) NOT NULL, 
`created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
PRIMARY KEY (`member_id`, `topic_id`), 
CONSTRAINT `FK_member_to_topics_memberid` FOREIGN KEY `FK_member_to_topics_memberid` 
(`member_id`) 
REFERENCES `member` (`id`) 
ON DELETE CASCADE 
ON UPDATE NO ACTION, 
CONSTRAINT `FK_member_to_topics_topicid` FOREIGN KEY `FK_member_to_topics_topicid` 
(`topic_id`) 
REFERENCES `topics` (`id`) 
ON DELETE CASCADE 
ON UPDATE NO ACTION 
) 
ENGINE = InnoDB; 

그러나 실행하는 동안 다음과 같은 오류가 - MYSQL 오류 번호 1005 테이블 member_to_topics (errno를 : 121) 만들 수 없습니다 내 로컬 컴퓨터에이 시도

답변

1

를하고 괜찮 았는데.

mysql> show create table member; 
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table | Create Table                                              | 
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| member | CREATE TABLE `member` (
    `id` varchar(50) NOT NULL DEFAULT '', 
    `name` varchar(50) DEFAULT NULL, 
    `email` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 


mysql> show create table topics; 
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table | Create Table                                                 | 
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| topics | CREATE TABLE `topics` (
    `id` varchar(50) NOT NULL DEFAULT '', 
    `topic_type` varchar(50) DEFAULT NULL, 
    `created_by` varchar(50) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+--------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

mysql> show create table member_to_topics; 
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table   | Create Table                                                                                                                                           | 
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| member_to_topics | CREATE TABLE `member_to_topics` (
    `member_id` varchar(50) NOT NULL, 
    `topic_id` varchar(50) NOT NULL, 
    `created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY (`member_id`,`topic_id`), 
    KEY `FK_member_to_topics_topicid` (`topic_id`), 
    CONSTRAINT `FK_member_to_topics_memberid` FOREIGN KEY (`member_id`) REFERENCES `member` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION, 
    CONSTRAINT `FK_member_to_topics_topicid` FOREIGN KEY (`topic_id`) REFERENCES `topics` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

오류 코드 121은 중복 키입니다.

[[email protected] ~]$ perror 121 
OS error code 121: Remote I/O error 
MySQL error code 121: Duplicate key on write or update 

혹시 복제 된 제약 조건 이름이있는 것 같습니까?

+0

답장 matthew에 대해 thanx 나를 위해 작동하는 제약 조건 이름을 변경합니다. 제한 조건 이름은 anyname이거나 특정 열 이름 종류 일 수 있습니까? –