mysql workbench 1064_mysql - MySQL Workbench中的正向工程输出错误1064 - 堆栈内存溢出

这是MySQL Workbench在进行正向工程时创建的脚本:

-- 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 DialogueFlowDB

-- -----------------------------------------------------

-- -----------------------------------------------------

-- Schema DialogueFlowDB

-- -----------------------------------------------------

CREATE SCHEMA IF NOT EXISTS `DialogueFlowDB` DEFAULT CHARACTER SET utf8 ;

USE `DialogueFlowDB` ;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`Status`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`Status` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Status` CHAR(255) NOT NULL,

PRIMARY KEY (`ID`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`MultiStep_Dialogues`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`MultiStep_Dialogues` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`MultiStep_Dialogue` CHAR(255) NOT NULL,

`Data_Items` VARCHAR(1000) NULL,

`Nodes` VARCHAR(1000) NULL,

`Node_Links` VARCHAR(1000) NULL,

`Comments` VARCHAR(1000) NULL,

`Status` INT UNSIGNED NOT NULL,

`Issue` INT NOT NULL,

`LO_Name` CHAR(255) NULL,

`LO_Description` CHAR(255) NULL,

`LO_Condition` VARCHAR(1000) NULL,

`LO_Variables` VARCHAR(1000) NULL,

`LO_List` INT NULL,

PRIMARY KEY (`ID`),

INDEX `fk_MultiStep_Dialogues_Status1_idx` (`Status` ASC) VISIBLE,

CONSTRAINT `fk_MultiStep_Dialogues_Status1`

FOREIGN KEY (`Status`)

REFERENCES `DialogueFlowDB`.`Status` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`Node_Types`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`Node_Types` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Node_Type` CHAR(255) NOT NULL,

PRIMARY KEY (`ID`))

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`Variables`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`Variables` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Variable` CHAR(255) NOT NULL,

`Variable_ID` CHAR(255) NOT NULL,

`System_Variable` CHAR(255) NULL,

`Values_per_Item` ENUM('Single', 'Multiple') NOT NULL DEFAULT 'Single',

`MultiStep_Dialogue` INT UNSIGNED NOT NULL,

`Input_Values` VARCHAR(1000) NULL,

`Comments` VARCHAR(1000) NULL,

PRIMARY KEY (`ID`),

INDEX `fk_Variables_MultiStep_Dialogues1_idx` (`MultiStep_Dialogue` ASC) VISIBLE,

CONSTRAINT `fk_Variables_MultiStep_Dialogues1`

FOREIGN KEY (`MultiStep_Dialogue`)

REFERENCES `DialogueFlowDB`.`MultiStep_Dialogues` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`Nodes`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`Nodes` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Node` CHAR(255) NOT NULL,

`Node_ID` CHAR(255) NOT NULL,

`Node_Sequence` ENUM('End', 'Middle', 'Start') NOT NULL,

`Node_Type` INT UNSIGNED NOT NULL,

`XPosition` INT NOT NULL DEFAULT 0,

`YPosition` INT NOT NULL DEFAULT 0,

`Answer` VARCHAR(1000) NOT NULL,

`Data_Item` INT UNSIGNED NULL,

`Status` INT UNSIGNED NOT NULL DEFAULT 'Created',

`MultiStep_Dialogue` INT UNSIGNED NOT NULL,

`Comments` VARCHAR(1000) NULL,

`Previous_Node_Links` VARCHAR(1000) NULL,

`Next_Node_Link` VARCHAR(100) NULL,

PRIMARY KEY (`ID`),

INDEX `fk_Nodes_MultiStep_Dialogues_idx` (`MultiStep_Dialogue` ASC) VISIBLE,

INDEX `fk_Nodes_Node_Types1_idx` (`Node_Type` ASC) VISIBLE,

INDEX `fk_Nodes_Variables1_idx` (`Data_Item` ASC) VISIBLE,

INDEX `fk_Nodes_Status1_idx` (`Status` ASC) VISIBLE,

CONSTRAINT `fk_Nodes_MultiStep_Dialogues`

FOREIGN KEY (`MultiStep_Dialogue`)

REFERENCES `DialogueFlowDB`.`MultiStep_Dialogues` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Nodes_Node_Types1`

FOREIGN KEY (`Node_Type`)

REFERENCES `DialogueFlowDB`.`Node_Types` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Nodes_Status1`

FOREIGN KEY (`Status`)

REFERENCES `DialogueFlowDB`.`Status` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Nodes_Variables1`

FOREIGN KEY (`Data_Item`)

REFERENCES `DialogueFlowDB`.`Variables` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB;

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`Node_Links`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`Node_Links` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`Node_Link` CHAR(255) NOT NULL,

`MultiStep_Dialogue` INT UNSIGNED NOT NULL,

`From_Node` INT UNSIGNED NOT NULL,

`To_Node` INT UNSIGNED NOT NULL,

`Status` INT UNSIGNED NOT NULL,

`Comments` VARCHAR(1000) NULL,

PRIMARY KEY (`ID`),

INDEX `fk_Node_Links_Nodes1_idx` (`From_Node` ASC) VISIBLE,

INDEX `fk_Node_Links_MultiStep_Dialogues1_idx` (`MultiStep_Dialogue` ASC) VISIBLE,

INDEX `fk_Node_Links_Nodes2_idx` (`To_Node` ASC) VISIBLE,

INDEX `fk_Node_Links_Status1_idx` (`Status` ASC) VISIBLE,

CONSTRAINT `fk_Node_Links_Nodes1`

FOREIGN KEY (`From_Node`)

REFERENCES `DialogueFlowDB`.`Nodes` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Node_Links_MultiStep_Dialogues1`

FOREIGN KEY (`MultiStep_Dialogue`)

REFERENCES `DialogueFlowDB`.`MultiStep_Dialogues` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Node_Links_Nodes2`

FOREIGN KEY (`To_Node`)

REFERENCES `DialogueFlowDB`.`Nodes` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION,

CONSTRAINT `fk_Node_Links_Status1`

FOREIGN KEY (`Status`)

REFERENCES `DialogueFlowDB`.`Status` (`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;

这是输出:

Executing SQL script in server

ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '

CONSTRAINT `fk_MultiStep_Dialogues_Status1`

FOREIGN KEY (`Status`)

RE' at line 19

SQL Code:

-- -----------------------------------------------------

-- Table `DialogueFlowDB`.`MultiStep_Dialogues`

-- -----------------------------------------------------

CREATE TABLE IF NOT EXISTS `DialogueFlowDB`.`MultiStep_Dialogues` (

`ID` INT UNSIGNED NOT NULL AUTO_INCREMENT,

`MultiStep_Dialogue` CHAR(255) NOT NULL,

`Data_Items` VARCHAR(1000) NULL,

`Nodes` VARCHAR(1000) NULL,

`Node_Links` VARCHAR(1000) NULL,

`Comments` VARCHAR(1000) NULL,

`Status` INT UNSIGNED NOT NULL,

`Issue` INT NOT NULL,

`LO_Name` CHAR(255) NULL,

`LO_Description` CHAR(255) NULL,

`LO_Condition` VARCHAR(1000) NULL,

`LO_Variables` VARCHAR(1000) NULL,

`LO_List` INT NULL,

PRIMARY KEY (`ID`),

INDEX `fk_MultiStep_Dialogues_Status1_idx` (`Status` ASC) VISIBLE,

CONSTRAINT `fk_MultiStep_Dialogues_Status1`

FOREIGN KEY (`Status`)

REFERENCES `DialogueFlowDB`.`Status` (`ID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

ENGINE = InnoDB

SQL script execution finished: statements: 6 succeeded, 1 failed

Fetching back view definitions in final form.

Nothing to fetch

我在网上阅读,问题可能出在外键上(尽管我检查了一下,看起来还不错...)或与引擎= InnoDB声明有关。 我试图在这个问题中使用答案,但是它不起作用或者我不太理解答案(我将ENGINE = InnoDB;换成ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;)我还检查了我的版本的mysql,我使用10.1.35-MariaDB,它应该有可用的不可见索引(如我链接的问题的另一个答案所述)。

我对mySQL从未有过任何经验,所以如果这是一个非常简单的问题,我感到抱歉。 谢谢你的帮助 :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值