私は以下の表を持っている:SQL:ERROR 1005:テーブルを作成できません 'obl2.itemsubjects'(errnoに:121)
今CREATE TABLE `OBL2`.`item` (
`itemID` INT NOT NULL AUTO_INCREMENT ,
`itemName` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`itemID`) ,
INDEX `itemName` (`itemName` ASC));
CREATE TABLE `OBL2`.`subject` (
`subjectID` INT NOT NULL ,
`subjectName` VARCHAR(45) NOT NULL ,
PRIMARY KEY (`subjectID`));
の接続は、多くの多くであることから、各項目が多くを持つことができます件名と各件名は多くの項目に関連付けることができます - 私は接続テーブルを設定したいと思います。 これは私のコードです:
CREATE TABLE `OBL2`.`itemsubjects` (
`itemID` INT NOT NULL ,
`subjectID` INT NOT NULL ,
PRIMARY KEY (`itemID`, `subjectID`) ,
INDEX `itemID_idx` (`itemID` ASC) ,
INDEX `subjectID_idx` (`subjectID` ASC) ,
CONSTRAINT `itemID`
FOREIGN KEY (`itemID`)
REFERENCES `OBL2`.`item` (`itemID`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `subjectID`
FOREIGN KEY (`subjectID`)
REFERENCES `OBL2`.`subject` (`subjectID`)
ON DELETE CASCADE
ON UPDATE CASCADE);
が、何らかの理由で第三表のコードは受け付けていません。 私は、エラーメッセージが出ます:私は、インターネット上の誤りについて読んで、それは言う
ERROR 1005:テーブルを作成できません 'obl2.itemsubjects'(121エラー番号を)それはMYSQLの既知の問題ですが、解決策はありません。
どのような考えですか?
あなたは3番目のテーブル用のテーブルを作成するスクリプト内で最初の二つのテーブルにいくつかのデータを挿入しようとしてから追加することはできますか? – bonCodigo
ちょっとbonCondigo、私は今それを試みた..まだ同じエラー。私は著者と同じことを早くやったと言わねばならず、それは完璧に働いていました。なぜ私は被験者が失敗するのか理解することができます。 –
dbで明示的なテーブル名を指定する必要がありますか? – bonCodigo