error 1452 and 1364 field "subject_id" doesn't have a default value

 -- MySQL Script generated by MySQL Workbench
    -- Tue Apr 28 20:52:04 2020
    -- Model: New Model    Version: 1.0
    -- MySQL Workbench Forward Engineering

    SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
    SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
    SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

    -- -----------------------------------------------------
    -- Schema Shedule
    -- -----------------------------------------------------

    -- -----------------------------------------------------
    -- Schema Shedule
    -- -----------------------------------------------------
    CREATE SCHEMA IF NOT EXISTS `Shedule` DEFAULT CHARACTER SET utf8 ;
    USE `Shedule` ;

    -- -----------------------------------------------------
    -- Table `Shedule`.`kafedra`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`kafedra` (
      `id_kafedra` INT NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`id_kafedra`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`stud_group`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`stud_group` (
      `stud_group_id` INT NOT NULL AUTO_INCREMENT,
      `name_group` NVARCHAR(20) NOT NULL,
      `fakultet_name` VARCHAR(45) NOT NULL,
      `form_education` VARCHAR(45) NOT NULL,
      `kafedra_id` INT NOT NULL,
      PRIMARY KEY (`stud_group_id`),
      INDEX `fk_stud_group_kafedra1_idx` (`kafedra_id` ASC) VISIBLE,
      CONSTRAINT `fk_stud_group_kafedra`
        FOREIGN KEY (`kafedra_id`)
        REFERENCES `Shedule`.`kafedra` (`id_kafedra`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`subject`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`subject` (
      `subject_id` INT NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`subject_id`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`audience`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`audience` (
      `audience_id` INT NOT NULL AUTO_INCREMENT,
      `num_audience` INT NOT NULL,
      PRIMARY KEY (`audience_id`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`korpus`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`korpus` (
      `korpus_id` INT NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(45) NOT NULL,
      `address` NVARCHAR(50) NOT NULL,
      PRIMARY KEY (`korpus_id`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`para`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`para` (
      `id_para` INT NOT NULL AUTO_INCREMENT,
      `para` INT NOT NULL,
      `para_begin` VARCHAR(45) NOT NULL,
      `para_end` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`id_para`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`customer`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`customer` (
      `customer_id` INT NOT NULL AUTO_INCREMENT,
      `name` VARCHAR(45) NOT NULL,
      `surname` VARCHAR(45) NOT NULL,
      `second_name` VARCHAR(45) NOT NULL,
      `email` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`customer_id`))
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`teacher`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`teacher` (
      `teacher_id` INT NOT NULL AUTO_INCREMENT,
      `customer_id` INT NOT NULL,
      `academic_position` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`teacher_id`),
      INDEX `fk_teacher_user1_idx` (`customer_id` ASC) VISIBLE,
      CONSTRAINT `teacher`
        FOREIGN KEY (`customer_id`)
        REFERENCES `Shedule`.`customer` (`customer_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`shedule`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`shedule` (
      `subject_id` INT NOT NULL,
      `teacher_id` INT NOT NULL,
      `para_id` INT NOT NULL,
      `week` VARCHAR(45) NOT NULL,
      `subject_type` VARCHAR(45) NOT NULL,
      `audience` INT NOT NULL,
      `korpus_id` INT NOT NULL,
      `stud_group_id` INT NOT NULL,
      `day_of_week` VARCHAR(45) NOT NULL,
      INDEX `fk_shedule_audience1_idx` (`audience` ASC) VISIBLE,
      INDEX `fk_shedule_korpus1_idx` (`korpus_id` ASC) VISIBLE,
      INDEX `fk_shedule_para1_idx` (`para_id` ASC) VISIBLE,
      INDEX `fk_shedule_stud_group1_idx` (`stud_group_id` ASC) VISIBLE,
      INDEX `fk_shedule_subject1_idx` (`subject_id` ASC) VISIBLE,
      INDEX `fk_shedule_teacher1_idx` (`teacher_id` ASC) VISIBLE,
      CONSTRAINT `fk_shedule_audience`
        FOREIGN KEY (`audience`)
        REFERENCES `Shedule`.`audience` (`audience_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_shedule_korpus`
        FOREIGN KEY (`korpus_id`)
        REFERENCES `Shedule`.`korpus` (`korpus_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_shedule_para`
        FOREIGN KEY (`para_id`)
        REFERENCES `Shedule`.`para` (`id_para`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_shedule_stud_group`
        FOREIGN KEY (`stud_group_id`)
        REFERENCES `Shedule`.`stud_group` (`stud_group_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_shedule_subject`
        FOREIGN KEY (`subject_id`)
        REFERENCES `Shedule`.`subject` (`subject_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_shedule_teacher`
        FOREIGN KEY (`teacher_id`)
        REFERENCES `Shedule`.`teacher` (`teacher_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB;


    -- -----------------------------------------------------
    -- Table `Shedule`.`student`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `Shedule`.`student` (
      `customer_id` INT NOT NULL,
      `student_id` INT NOT NULL,
      `stud_group_id` INT NOT NULL,
      INDEX `fk_student_stud_group1_idx` (`stud_group_id` ASC) VISIBLE,
      INDEX `fk_student_customer1_idx` (`customer_id` ASC) VISIBLE,
      CONSTRAINT `fk_student_stud_group`
        FOREIGN KEY (`stud_group_id`)
        REFERENCES `Shedule`.`stud_group` (`stud_group_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION,
      CONSTRAINT `fk_student_customer`
        FOREIGN KEY (`customer_id`)
        REFERENCES `Shedule`.`customer` (`customer_id`)
        ON DELETE NO ACTION
        ON UPDATE NO ACTION)
    ENGINE = InnoDB;


    SET SQL_MODE=@OLD_SQL_MODE;
    SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
    SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

    -- -----------------------------------------------------
    -- Data for table `Shedule`.`shedule`
    -- -----------------------------------------------------
    START TRANSACTION;
    USE `Shedule`;
    INSERT INTO `Shedule`.`shedule` (`subject_id`, `teacher_id`, `para_id`, `week`, `subject_type`, `audience`, `korpus_id`, `stud_group_id`, `day_of_week`) VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);

    COMMIT;


    -- -----------------------------------------------------
    -- Data for table `Shedule`.`student`
    -- -----------------------------------------------------
    START TRANSACTION;
    USE `Shedule`;
    INSERT INTO `Shedule`.`student` (`customer_id`, `student_id`, `stud_group_id`) VALUES (DEFAULT, DEFAULT, DEFAULT);

    COMMIT;

Не удается наполнить таблицы данными. Две ошибки 1452 и 1364.


Ответы (1 шт):

Автор решения: betplix

Ответ на вопрос раскрыт в тексте ошибки "field “subject_id” doesn't have a default value" Поле subject_id не имеет дефолтного значения Уберите из запроса INSERT INTO поле subject_id и из VALUES значение его DEFAULT Данное поле заполниться автоматически, т.к. оно AUTO_INCREMENT

→ Ссылка