mysql - mysql导入模型转发工程师错误
问题描述
我在 MySQL Workbench 中创建了一个包含 3 个表的小型数据库。创建表后,我在其中插入了一些数据,它工作正常。现在我有另一台电脑。我从第一台电脑将模型导出为 mwb 文件,我想将该 mwb 文件导入我的第二台电脑。这是我在将模型(正向工程)导入我的第二台电脑时遇到的错误。我不明白为什么在 MySQL Workbench 中创建的模型在另一台电脑的工作台中不起作用。有人可以帮忙吗?谢谢你。我想导入的 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;
解决方案
据我所知,在您的图像中,如果不定义列的类型,您就无法在表中创建列。
例如,在您的表中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;
推荐阅读
- r - 写日志闪亮
- sql - 我正在寻找一种方法来获取不同的特定列,选择所有列
- python - 从保存为不同大小的numpy数组的XYZ数据中绘制seaborn热图
- circleci - 将环境变量传递给 CircleCI 中的 node.js 进程
- javascript - 如何使用 lodash 检查两个对象的值是否相同
- python - 在 python 列表中查找 alpha
- android - 如何将 MediatorLiveData 与抽象源一起使用
- javascript - laravel foreach 选择选项和必需
- android-studio - 如何在 android 中测试 Google Play 计费订阅(非应用内购买)
- bison - 野牛匹配模式的顺序是什么?