如何使用引用在mysql中编写级联查询

如何使用引用在mysql中编写级联查询,mysql,sql,Mysql,Sql,这是我的问题。但它不起作用。 它显示此错误: 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第23行附近要使用的正确语法 查询: CREATE TABLE tbl_student ( studentrollno INT(11), studentname VARCHAR(255), studentpassword VARCHAR(255), studentslug VARCHAR

这是我的问题。但它不起作用。 它显示此错误:

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第23行附近要使用的正确语法

查询:

CREATE TABLE tbl_student 
  ( 
     studentrollno     INT(11), 
     studentname       VARCHAR(255), 
     studentpassword   VARCHAR(255), 
     studentslug       VARCHAR(300), 
     studentstatus     VARCHAR(255), 
     degreetitle       VARCHAR(100), 
     batchtitle        VARCHAR(100), 
     batchautomationno VARCHAR(100), 
     PRIMARY KEY (studentrollno), 
     FOREIGN KEY (degreetitle) REFERENCES tbl_batch(degreetitle) 
        ON DELETE CASCADE ON UPDATE CASCADE, 
     FOREIGN KEY (batchtitle) REFERENCES tbl_batch(batchtitle) 
        ON DELETE CASCADE ON UPDATE CASCADE, 
     FOREIGN KEY (batchautomationno) REFERENCES tbl_batch(batchautomationno)
        ON DELETE CASCADE ON UPDATE CASCADE,
  )
这是我的配料表

CREATE TABLE tbl_batch (
  degreeTitle varchar(100),
  batchTitle varchar(100),
  batchAutomationNo varchar(100),
  batchSlug varchar(255),
  batchStatus int(1),
  PRIMARY KEY (degreeTitle, batchTitle, batchAutomationNo),
  FOREIGN KEY (degreeTitle)
  REFERENCES tbl_degree(degreeTitle)
  ON DELETE CASCADE
  ON UPDATE CASCADE

) ENGINE=InnoDB;
在批处理表中。。batchTitle、degreeTitle、batchAutomationNo是主键

您可以将复合外键映射到父复合主键

CREATE TABLE tbl_student 
( 
    studentrollno     INT(11), 
    studentname       VARCHAR(255), 
    studentpassword   VARCHAR(255), 
    studentslug       VARCHAR(300), 
    studentstatus     VARCHAR(255), 
    degreetitle       VARCHAR(100), 
    batchtitle        VARCHAR(100), 
    batchautomationno VARCHAR(100), 
    PRIMARY KEY (studentrollno), 
    FOREIGN KEY (degreeTitle, batchTitle, batchAutomationNo) 
      REFERENCES tbl_batch(degreeTitle, batchTitle, batchAutomationNo) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

删除最后一个逗号这是真正的错误,无法添加外键约束,您需要使用所引用的表定义更新问题使用所有表定义更新问题。我们需要tbl_批定义。您有3个外键指向同一个表,而该表有3个主键?我不是DBA,但这不是毫无意义的吗?我不知道,可能是不允许的?谢谢。它正在工作。请始终注意,要定义单个FK,还应具有单个父键。