-1

外部キー制約が正しく形成されていないため、テーブルの作成に失敗しました

最初の create table my_seeking は正常に動作しますが、 createcontactstoseeking を実行しようとすると、次のエラー メッセージが表示されます

エラー コード: 1005。テーブル 'db_ferguson.contactstoseeking' を作成できません (errno: 150)

CREATE  TABLE IF NOT EXISTS `my_seeking` (
  `id` INT NOT NULL ,
  `seeking` VARCHAR(45) NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB
;

CREATE  TABLE IF NOT EXISTS `contactsTOseeking` (
  `id` INT NOT NULL ,
  `seek` VARCHAR(45) NOT NULL ,
  UNIQUE INDEX `id_UNIQUE` (`id` ASC) ,
  UNIQUE INDEX `seek_UNIQUE` (`seek` ASC) ,
  CONSTRAINT `fk_contactsTOseeking_my_seeking1`
    FOREIGN KEY (`id` )
    REFERENCES `mydb`.`my_seeking` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

Web を検索すると、エラー 150 が fk 制約に関連付けられていることがわかります。テーブルを作成できません。エラー メッセージがエラー 150 を示している場合は、外部キー制約が正しく形成されていないため、テーブルの作成に失敗しています。エラー メッセージがエラー –1 を示している場合は、内部 InnoDB テーブルの名前と一致する列名がテーブルに含まれているため、テーブルの作成に失敗した可能性があります。」

このコードは MySQL によって生成されたもので、外部キーに対する私の最初の試みです。手動でコーディングしようとしたところ問題が発生したため、ワークベンチに任せようと考えました。問題は、それが見えないか、現在のスキルセットを超えていることです

4

1 に答える 1