-1

我在 ER 模型中创建了我的表,当我尝试将模型与服务器同步时,我看到了一个我无法弄清楚的错误日志。就在显​​示此屏幕之前,仅找到 15 个表中的 2 个源,其余的显示“红色箭头 --> N/A”

ps 我只是通过 ER 模型完成了这个,我没有手动输入任何 SQL。

这是我收到的日志。

在服务器中执行 SQL 脚本

错误:错误 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 ') REFERENCES 附近使用的正确语法StudentRetentionSystemdbmodule() ON DELETE NO ACTION' 在第 8 行

CREATE  TABLE IF NOT EXISTS `StudentRetentionSystemdb`.`tutor` (   
  `PersonID` INT(11) NULL DEFAULT NULL ,    
  `moduleLeader` INT(11) NULL DEFAULT NULL ,    
  `departmentCode` INT(11) NULL DEFAULT NULL ,    
  PRIMARY KEY (`PersonID`) ,    
  INDEX `departmentCode_idx` (`departmentCode` ASC) ,    
  CONSTRAINT `moduleLeader` FOREIGN KEY ()
    REFERENCES `StudentRetentionSystemdb`.`module` () 
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,    
  CONSTRAINT `departmentCode` FOREIGN KEY (`departmentCode` )    
    REFERENCES `StudentRetentionSystemdb`.`department` (`departmentCode` )   
      ON DELETE NO ACTION  
      ON UPDATE NO ACTION)

ENGINE = InnoDB

DEFAULT CHARACTER SET = utf8

COLLATE = utf8_general_ci

SQL 脚本执行完成:语句:3 成功,1 失败

4

1 回答 1

0

您在CREATE TABLE声明中某处的声明中有错误INDEX。您应该ASC从索引部分中删除。

INDEX `departmentCode_idx` (`departmentCode`)

将出现的第二个问题是您没有在FOREIGN KEY约束上定义键,

CONSTRAINT `moduleLeader` FOREIGN KEY (moduleLeader)           -- add column name
    REFERENCES `StudentRetentionSystemdb`.`module` (columnName)-- add column name
    ON DELETE NO ACTION
    ON UPDATE NO ACTION, 
于 2013-04-06T23:30:48.170 回答