2

答えを検索したところうまくいくかもしれませんが、修正されませんでした。

私はこのようなテーブルを作成しましたが、テーブル「趣味」を作成するとエラー1072が発生しました。

CREATE  TABLE IF NOT EXISTS `project_r`.`user` (
  `user_id` INT NOT NULL ,
  `password` VARCHAR(45) NOT NULL ,
  `RealName` VARCHAR(45) NOT NULL ,
  `FamilyName` VARCHAR(45) NOT NULL ,
  `birthdate` VARCHAR(45) NOT NULL ,
  `Homecity` VARCHAR(45) NOT NULL ,
  `school_id` INT NOT NULL ,
  `school_enteryear` INT NOT NULL ,
  `email` VARCHAR(45) NULL ,
  `activestat` VARCHAR(45) NULL ,
  `onlinestat` VARCHAR(45) NULL ,
  `regtime` DATETIME NOT NULL ,
  `avatar` VARCHAR(45) NULL ,
  `status` VARCHAR(45) NULL ,
  `desc` VARCHAR(45) NULL ,
  `self_comment` VARCHAR(45) NULL ,
  `userMsg_id` INT NOT NULL ,
  PRIMARY KEY (`user_id`) ,
  INDEX `fk_user_school1_idx` (`school_id` ASC) ,
  CONSTRAINT `fk_user_school1`
    FOREIGN KEY (`school_id` )
    REFERENCES `project_r`.`school` (`school_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

次に、テーブル「趣味」を作成します

CREATE  TABLE IF NOT EXISTS `project_r`.`hobbies` (
  `hobby_user_id` INT NOT NULL ,
  `favorite_music` VARCHAR(45) NULL ,
  `favorite_game` VARCHAR(20) NULL ,
  `favorite_film` VARCHAR(45) NULL ,
  `favorite_book` VARCHAR(45) NULL ,
  `favorite_sport` VARCHAR(45) NULL ,
  `favorite_cartoon` VARCHAR(45) NULL ,
  `hobby` VARCHAR(45) NULL ,
  PRIMARY KEY (`user_id`) ,
  INDEX `fk_user_id` (`hobby_user_id` ASC) ,
  CONSTRAINT `fk_user_id`
    FOREIGN KEY (`hobby_user_id` )
    REFERENCES `project_r`.`user` (`user_id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

AUTO-INCREMENTが追加されたかどうか、または参照されたテーブルにインデックスが追加されたものは両方とも機能しませんでした。ヘルプのためのthx。

4

3 に答える 3

1

user_idテーブルのフィールドが存在しません。テーブルの主キーにhobbiesなりたい可能性があります:hobby_user_idhobbies

 PRIMARY KEY (`hobby_user_id`),

テーブルの一貫した外部キ​​ーhobbiesには何も問題はありません。

于 2012-12-11T03:14:50.577 に答える
1

「hobbies」テーブルで、存在しない user_id に pk を設定しようとしています。次のように変更します。

PRIMARY KEY (`hobby_user_id`)
于 2012-12-11T02:55:59.020 に答える
0

PRIMARY KEYの列user_idにを設定していますがhobbies、そのような列はありません。といいhobby_user_idます。

 PRIMARY KEY (`hobby_user_id`) ,

私自身のデータベースでの簡単なテストでは、これら 2 つのテーブルが正しいPRIMARY KEY仕様で正常に作成されました。

于 2012-12-11T02:54:51.963 に答える