我創建了一個數據庫模型,並hopeping腳本它MySQL的順利使用工作臺。
下面是由WB生成的代碼:
-- MySQL Workbench Forward Engineering
SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- -----------------------------------------------------
-- Schema resume_db
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema resume_db
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `resume_db` DEFAULT CHARACTER SET latin1 ;
USE `resume_db` ;
-- -----------------------------------------------------
-- Table `resume_db`.`vacancies`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`vacancies` (
`id` INT(11) NOT NULL,
`title` VARCHAR(256) NOT NULL,
`htmlDesc` TEXT NOT NULL,
`issueDate` DATETIME NOT NULL,
`expiryDate` DATETIME NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1;
-- -----------------------------------------------------
-- Table `resume_db`.`job_history`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`job_history` (
`id` INT GENERATED ALWAYS AS() VIRTUAL,
`employerName` MEDIUMTEXT NOT NULL,
`employement_duration` VARCHAR(100) NULL,
`job_title` VARCHAR(256) NOT NULL,
`duties` VARCHAR(200) NULL,
`applications_id` INT NOT NULL,
PRIMARY KEY (`id`, `applications_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `resume_db`.`education_record`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`education_record` (
`id` INT GENERATED ALWAYS AS() VIRTUAL,
`school_name` VARCHAR(256) NOT NULL,
`degree_period` VARCHAR(256) NOT NULL,
`degree_title` VARCHAR(256) NOT NULL,
`degree_notes` VARCHAR(256) NULL,
`applications_id` INT NOT NULL,
PRIMARY KEY (`id`, `applications_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `resume_db`.`social_networks`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`social_networks` (
`id` INT GENERATED ALWAYS AS() VIRTUAL,
`social_network` VARCHAR(256) NOT NULL,
`profile_url` VARCHAR(256) NOT NULL,
`applications_id` INT NOT NULL,
PRIMARY KEY (`id`, `applications_id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `resume_db`.`applications`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`applications` (
`id` INT GENERATED ALWAYS AS() VIRTUAL,
`name` VARCHAR(500) NULL,
`photo_url` VARCHAR(256) NULL,
`title` VARCHAR(10) NOT NULL,
`videoUrl` VARCHAR(256) NULL,
`email` VARCHAR(256) NOT NULL,
`vacancyID` INT NULL,
`location` VARCHAR(256) NULL,
`skills` MEDIUMTEXT NULL,
`htmlCoverLetter` LONGTEXT NOT NULL,
`resume_url` VARCHAR(256) NULL,
PRIMARY KEY (`id`),
INDEX `fk_applications_vacancies_idx` (`vacancyID` ASC),
CONSTRAINT `fk_applications_vacancies`
FOREIGN KEY (`vacancyID`)
REFERENCES `resume_db`.`vacancies` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_applications_job_history1`
FOREIGN KEY (`id`)
REFERENCES `resume_db`.`job_history` (`applications_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_applications_education_record1`
FOREIGN KEY (`id`)
REFERENCES `resume_db`.`education_record` (`applications_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_applications_social_networks1`
FOREIGN KEY (`id`)
REFERENCES `resume_db`.`social_networks` (`applications_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
SET [email protected]_SQL_MODE;
SET [email protected]_FOREIGN_KEY_CHECKS;
SET [email protected]_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 MySQL server version for the right syntax to use near 'GENERATED ALWAYS AS() VIRTUAL,
`employerName` MEDIUMTEXT NOT NULL,
`employe' at line 5
SQL Code:
-- -----------------------------------------------------
-- Table `resume_db`.`job_history`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `resume_db`.`job_history` (
`id` INT GENERATED ALWAYS AS() VIRTUAL,
`employerName` MEDIUMTEXT NOT NULL,
`employement_duration` VARCHAR(100) NULL,
`job_title` VARCHAR(256) NOT NULL,
`duties` VARCHAR(200) NULL,
`applications_id` INT NOT NULL,
PRIMARY KEY (`id`, `applications_id`))
ENGINE = InnoDB
SQL script execution finished: statements: 6 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
任何線索?