如何在mysql中建立表之间的关系

tvokkenx  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(224)

我想在mysql中的表之间建立一些关系。我用gorm orm和go。我有三张table,名字是:singertbl,covertbl,singerscovertbl。我的表具有具有自动递增值的id。在singertbl和covertbl中,我有以下字段:id和{some other field}。在singerscovertbl中,我有以下字段:id,singer\u id,cover\u id。{id.singertbl->singer\u id.singerscovertbl}和{id.covertbl->cover\u id.singerscovertbl}之间有一个关系,当我想在mysql workbench中将此关系作为外键应用于此sql查询时:

  1. ALTER TABLE `mskm`.`albumscovers`
  2. ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
  3. ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE;
  4. ;
  5. ALTER TABLE `mskm`.`albumscovers`
  6. ADD CONSTRAINT `ID`
  7. FOREIGN KEY (`album_id`)
  8. REFERENCES `mskm`.`albumstbls` (`ID`)
  9. ON DELETE NO ACTION
  10. ON UPDATE NO ACTION;

我得到这个错误:

  1. Operation failed: There was an error while applying the SQL script to the database.
  2. Executing:
  3. ALTER TABLE `mskm`.`albumscovers`
  4. ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
  5. ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE;
  6. ;
  7. ALTER TABLE `mskm`.`albumscovers`
  8. ADD CONSTRAINT `ID`
  9. FOREIGN KEY (`album_id`)
  10. REFERENCES `mskm`.`albumstbls` (`ID`)
  11. ON DELETE NO ACTION
  12. ON UPDATE NO ACTION;
  13. 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 '
  14. ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE' at line 2
  15. SQL Statement:
  16. ALTER TABLE `mskm`.`albumscovers`
  17. ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
  18. ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE

我怎么能在这两张table之间建立这种关系?!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题