Так у меня есть, таблица курсов:SQL: 1364 Поле 'XXXX' не имеет значения по умолчанию
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
и второй стол
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
Когда я делаю что вставить
insert into appdziennik.courses (name, id_teacher, about, start_date, end_date) values ("Math",'7',"Math",'2013-08-01','2014-06-29');
Я получаю эту ошибку:
Error Code: 1364. Field 'teachers_id_teacher' doesn't have a default value
Где я ошибся? Как я мог это исправить.
Имя столбца в 'courses', как представляется,' teachers_id_teacher', а не 'id_teacher' - опечатка в этом вопросе или введите код ? –
Я слишком доверяю автогенератору моего MySQL WorkBench. Его вызовы столбцов, как это (teachers_id_teacher), когда я сделал. В любом случае THX – Aku