Por lo que tengo, tabla de cursos:

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

y segundo de la tabla

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

Cuando hago que insertar

insertar en appdziennik.cursos
(nombre, id_teacher, acerca de, start_date, end_date)
valores («Matemáticas»,’7′,»las Matemáticas»,’2013-08-01′,’2014-06-29′);

Me sale que error:

Código De Error: 1364. Campo ‘teachers_id_teacher» no tiene un valor predeterminado
valor

Donde me equivocó? Cómo podía arreglarlo.

  • El nombre de la columna en courses parece ser teachers_id_teacher en lugar de id_teacher – error tipográfico en esta pregunta o escriba en el código?
  • Confío demasiado en autogenerar código de mi MySQL WorkBench. Sus llamadas columnas como esta(teachers_id_teacher) cuando he hecho. De todos modos THX
InformationsquelleAutor Aku | 2013-08-19

2 Comentarios

  1. 2

    Si usted está enviando una INSERT a la tabla courses, no hay ningún campo id_teacher (quieres teachers_id_teacher). Ya que usted está utilizando una clave foránea, que la clave debe existir en la tabla teachers antes de que INSERT un registro en la tabla courses. Además, sólo se debe utilizar comillas simples inclinadas (`) y comillas simples (‘) en todas sus declaraciones.

  2. 1

    usted está tratando de insertar en los cursos de la tabla por la columna id_teacher un valor, pero su no inserción de un valor para la columna teachers_id_teacher. así que os propongo hacer la declaración como sigue:

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

    Sarajog

    • Eso es hacer esto : Código de Error: 1364. Campo ‘id_teacher’ no tiene un valor predeterminado

Dejar respuesta

Please enter your comment!
Please enter your name here