sql错误errno:121

CREATE TABLE `users` ( `UID` INT UNSIGNED NOT NULL AUTO_INCREMENT , `username` VARCHAR(45) NOT NULL , `password` VARCHAR(100) NULL , `name` VARCHAR(100) NULL , `gender` BIT NULL , `email` VARCHAR(255) NULL , `phone` VARCHAR(30) NOT NULL , `verified` BIT NOT NULL DEFAULT 0 , `time_zone` INT NULL , `time_register` DATETIME NULL , `time_active` DATETIME NULL , PRIMARY KEY (`UID`) , UNIQUE INDEX `username_UNIQUE` (`username` ASC) , INDEX `verified_INDEX` (`verified` ASC) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; -- ----------------------------------------------------- -- Table `companies` -- ----------------------------------------------------- CREATE TABLE `companies` ( `CID` INT UNSIGNED NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NOT NULL , `address` VARCHAR(100) NULL , `email` VARCHAR(255) NULL , `phone` VARCHAR(30) NULL , `link` TEXT NULL , `image_small` TEXT NULL , `image_large` TEXT NULL , `yahoo` VARCHAR(100) NULL , `linkin` VARCHAR(100) NULL , `twitter` VARCHAR(20) NULL , `description` TEXT NULL , `shoutout` VARCHAR(140) NULL , `verified` BIT NOT NULL DEFAULT 0 , PRIMARY KEY (`CID`) , INDEX `name_INDEX` (`name` ASC) , INDEX `verified_INDEX` (`verified` ASC) ) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; -- ----------------------------------------------------- -- Table `products` -- ----------------------------------------------------- CREATE TABLE `products` ( `PID` INT UNSIGNED NOT NULL AUTO_INCREMENT , `CID` INT UNSIGNED NOT NULL , `name` VARCHAR(100) NULL , `description` TEXT NULL , `image_small` TEXT NULL , `image_large` TEXT NULL , `tag` VARCHAR(45) NULL , `price` DECIMAL(11,2) NULL , PRIMARY KEY (`PID`) , INDEX `tag_INDEX` (`tag` ASC) , INDEX `company.cid_FK` (`CID` ASC) , CONSTRAINT `company.cid_FK` FOREIGN KEY (`CID` ) REFERENCES `companies` (`CID` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; -- ----------------------------------------------------- -- Table `users_companies` -- ----------------------------------------------------- CREATE TABLE `users_companies` ( `UID` INT UNSIGNED NOT NULL , `CID` INT UNSIGNED NOT NULL , `role` INT UNSIGNED NULL , PRIMARY KEY (`CID`, `UID`) , INDEX `users.uid_FK` (`UID` ASC) , INDEX `company.cid_FK` (`CID` ASC) , CONSTRAINT `users.uid_FK` FOREIGN KEY (`UID` ) REFERENCES `users` (`UID` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `company.cid_FK` FOREIGN KEY (`CID` ) REFERENCES `companies` (`CID` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8; 

我有错误

 #1005 - Can't create table 'wew.users_companies' (errno: 121) (<a href="server_engines.php?engine=InnoDB&amp;page=Status&amp;token=3f35afdea97dd11f6b4ec1b669816738">Details...</a>) 

谁能告诉我哪一个是问题?

你有两个约束叫做company.cid_FK 。 重命名一个。

对于这样的错误,你可以用“perror”find更多的信息。 即

 shell $ perror 121 

MySQL错误代码121:写或更新时出现重复键
Win32错误代码121:信号量超时期限已过期。