mysql ошибка инженера форварда импортированной модели - PullRequest
1 голос
/ 04 марта 2020

Я создал небольшую базу данных с 3 таблицами в MySQL Workbench. После создания таблицы я вставил в нее некоторые данные, и она отлично работает. Теперь у меня есть еще один р c. Я экспортировал модель как файл mwb из первого файла p c, и я хочу импортировать этот файл mwb во второй файл p c. Вот ошибка, которую я получаю при импорте модели (форвард инжиниринг) в мой второй p c. Я не понимаю, почему модель, созданная в MySQL Workbench, не работает в другой рабочей станции p c. Может кто-нибудь помочь? Спасибо. Коды файлов mwb, которые я хотел импортировать

ошибок, которые я получил при форвард-инжиниринге

Редактировать: это скрипт, который выдает ошибку сейчас :

-- 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 mydb
    -- -----------------------------------------------------
    -- -----------------------------------------------------
    -- Schema karakoyd
    -- -----------------------------------------------------

    -- -----------------------------------------------------
    -- Schema karakoyd
    -- -----------------------------------------------------
    CREATE SCHEMA IF NOT EXISTS `karakoyd` DEFAULT CHARACTER SET utf8 COLLATE utf8_turkish_ci ;
    USE `karakoyd` ;

    -- -----------------------------------------------------
    -- Table `karakoyd`.`emp`
    -- -----------------------------------------------------
    CREATE TABLE IF NOT EXISTS `karakoyd`.`emp` (
      `idemp`  NOT NULL,
      `name` VARCHAR(45) NOT NULL,
      `email` VARCHAR(255) NOT NULL,
      `pass` VARCHAR(255) NOT NULL,
      `salt` VARCHAR(19) NOT NULL,
      `log` VARCHAR(45) NOT NULL,
      `rütbe` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`idemp`),
      UNIQUE INDEX `idemployee_UNIQUE` (`idemp` ASC) VISIBLE)
    ENGINE = InnoDB
    AUTO_INCREMENT = 19
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_turkish_ci;

1 Ответ

0 голосов
/ 04 марта 2020

Из того, что я вижу, в ваших изображениях вы не можете создавать столбцы в своих таблицах без определения типа столбца.

Например, в вашей таблице EMP вы создаете его следующим образом:

idemp not null

и должно быть так (только для примера):

idemp int not null

вот небольшая демка

И новая демонстрация с вашей таблицей

Вот так должен выглядеть ваш код TABLE.

CREATE TABLE IF NOT EXISTS `karakoyd`.`emp` (
      `idemp` int NOT NULL,   --the change was made here(column's data type was missing)
      `name` VARCHAR(45) NOT NULL,
      `email` VARCHAR(255) NOT NULL,
      `pass` VARCHAR(255) NOT NULL,
      `salt` VARCHAR(19) NOT NULL,
      `log` VARCHAR(45) NOT NULL,
      `rütbe` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`idemp`),
      UNIQUE INDEX `idemployee_UNIQUE` (`idemp` ASC) VISIBLE)
    ENGINE = InnoDB
    AUTO_INCREMENT = 19
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_turkish_ci;
...