我用mysql workbench画了一个简单的EER Model,三个表班级表:班级id、班级名
社团表:社团id、社团名
学生表:学生id、学生名、所属班级id(外键),所属社团id(外键)但是它导出的.sql文件再导入mysql时发现有语法错误。
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='TRADITIONAL,ALLOW_INVALID_DATES';CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `mydb` ;-- -----------------------------------------------------
-- Table `mydb`.`class`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`class` (
  `idclass` INT NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(45) NULL ,
  PRIMARY KEY (`idclass`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`association`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`association` (
  `idassociation` INT NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(45) NULL ,
  PRIMARY KEY (`idassociation`) )
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`student`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`student` (
  `idstudent` INT NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(45) NULL ,
  `idclass` INT NULL ,
  `idassociation` INT NULL ,
  PRIMARY KEY (`idstudent`) ,
  CONSTRAINT `idclass`
    FOREIGN KEY ()
    REFERENCES `mydb`.`class` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `idassociation`
    FOREIGN KEY ()
    REFERENCES `mydb`.`association` ()
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;USE `mydb` ;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
不知道问题处在哪?

解决方案 »

  1.   


    提示什么,将语句在MYSQL命令行下运行
      

  2.   


    我用菜单中的“打开SQL脚本”,出现的错误在38行的右括号处。如果用命令行,它提示三个错误unknown command '\U',以及\S和\D
      

  3.   

    外键怎么都是空的 第三个表改成mysql> CREATE  TABLE IF NOT EXISTS `mydb`.`student` (
        ->   `idstudent` INT NOT NULL AUTO_INCREMENT ,
        ->   `name` VARCHAR(45) NULL ,
        ->   `idclass` INT NULL ,
        ->   `idassociation` INT NULL ,
        ->   PRIMARY KEY (`idstudent`) ,
        ->   CONSTRAINT `idclass`
        ->     FOREIGN KEY (idclass)
        ->     REFERENCES `mydb`.`class` (idclass)
        ->     ON DELETE NO ACTION
        ->     ON UPDATE NO ACTION,
        ->   CONSTRAINT `idassociation`
        ->     FOREIGN KEY (idassociation)
        ->     REFERENCES `mydb`.`association` (idassociation)
        ->     ON DELETE NO ACTION
        ->     ON UPDATE NO ACTION)
        -> ENGINE = InnoDB;
    Query OK, 0 rows affected (0.04 sec)mysql> 
      

  4.   

    将每1个建表语句COPY出来,在命令行下运行