Как сделать связь между таблицами в MySQL - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу иметь некоторую связь между моими таблицами в MySQL. Я использую GORM ORM и иду. У меня есть 3 таблицы с таким именем: singertbl, covertbl, singerscovertbl. мои таблицы имеют идентификатор со значением автоинкремента. в singertbl и covertbl у меня есть следующие поля: ID и {какое-то другое поле}. и в singerscovertbl у меня есть эти поля: ID, singer_id, cover_id. существует связь между {ID.singertbl -> singer_id.singerscovertbl} и {ID.covertbl -> cover_id.singerscovertbl}, когда я хочу применить это отношение как внешний ключ в рабочей среде MySQL с этим запросом SQL:

    ALTER TABLE `mskm`.`albumscovers` 
ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE;
;
ALTER TABLE `mskm`.`albumscovers` 
ADD CONSTRAINT `ID`
  FOREIGN KEY (`album_id`)
  REFERENCES `mskm`.`albumstbls` (`ID`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;

Я получаю эту ошибку:

 Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `mskm`.`albumscovers` 
ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE;
;
ALTER TABLE `mskm`.`albumscovers` 
ADD CONSTRAINT `ID`
  FOREIGN KEY (`album_id`)
  REFERENCES `mskm`.`albumstbls` (`ID`)
  ON DELETE NO ACTION
  ON UPDATE NO ACTION;

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 '
ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE' at line 2
SQL Statement:
ALTER TABLE `mskm`.`albumscovers` 
ADD INDEX `ID_idx` (`album_id` ASC) VISIBLE,
ADD INDEX `ID_idx1` (`cover_id` ASC) VISIBLE

как я могу сделать эту связь между этими таблицами?!

...