2

だから私はテーブルコースを持っています:

CREATE  TABLE IF NOT EXISTS `AppDziennik`.`courses` (
  `id_course` INT NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(80) NOT NULL ,
  `teachers_id_teacher` INT NOT NULL ,
  `end_date` DATE NULL ,
  `about` VARCHAR(255) NULL ,
  `start_date` DATE NULL ,
  PRIMARY KEY (`id_course`) ,
  UNIQUE INDEX `id_course_UNIQUE` (`id_course` ASC) ,
  CONSTRAINT `fk_courses_teachers1`
    FOREIGN KEY (`teachers_id_teacher` )
    REFERENCES `AppDziennik`.`teachers` (`id_teacher` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

と 2 番目のテーブル

CREATE  TABLE IF NOT EXISTS `AppDziennik`.`teachers` (
  `id_teacher` INT NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(45) NOT NULL ,
  `surname` VARCHAR(45) NOT NULL ,
  `about` VARCHAR(255) NULL ,
  `id_class` INT NULL ,
  `rank` VARCHAR(45) NULL ,
  `logins_id_login` INT NOT NULL ,
  PRIMARY KEY (`id_teacher`) ,
  INDEX `fk_teachers_classes1_idx` (`id_class` ASC) ,
  INDEX `fk_teachers_logins1_idx` (`logins_id_login` ASC) ,
  CONSTRAINT `fk_teachers_classes1`
    FOREIGN KEY (`id_class` )
    REFERENCES `AppDziennik`.`classes` (`id_class` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_teachers_logins1`
    FOREIGN KEY (`logins_id_login` )
    REFERENCES `AppDziennik`.`logins` (`id_login` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

そのインサートを作るとき

appdziennik.courses (name, id_teacher, about, start_date, end_date) 値 ("Math",'7',"Math",'2013-08-01','2014-06-29') に挿入します。

そのエラーが発生します:

エラー コード: 1364。フィールド 'teachers_id_teacher' には既定値がありません

どこで間違えた?どうすれば修正できますか。

4

2 に答える 2

2

INSERTto tableを送信している場合courses、フィールドはありませんid_teacher(必要ですteachers_id_teacher)。外部キーを使用しているため、レコードを tableに入れる前に、そのキーが table に存在する必要があります。また、すべてのステートメントでバッククォート (`) と一重引用符 (') のみを使用する必要があります。teachers INSERTcourses

于 2013-08-19T14:37:15.097 に答える
1

列id_teacherの値をコーステーブルに挿入しようとしていますが、列teachers_id_teacherの値を挿入していません。したがって、私は次のように声明を出すことを提案します。

insert into appdziennik.courses (name, teachers_id_teacher, about, start_date, end_date) values ("Math",'7',"Math",'2013-08-01','2014-06-29');

サラジョグ

于 2013-08-19T14:41:30.520 に答える