как добавить внешний ключ в таблицу, которая ссылается на столбец типа данных blob - PullRequest
0 голосов
/ 10 мая 2019

Моя проблема: я создал две таблицы, используя mysql: первая таблица называется team, в ней есть id команды и team name, вторая таблица медиа таблицы, в ней есть id и изображение типа blob, к которому я хочу добавить внешний ключ в таблицу, к которой относится команда team.изображение столбца в таблице мультимедиа я искал в Google, но обнаружил, что не могу сделать это, поэтому, если я не могу, есть ли способ добавить ссылку на внешний ключ к столбцу, который содержит данные изображения?

это командатаблица

CREATE TABLE `team` (
  `TE_ID` INT(11) NOT NULL,
  `TE_Name` VARCHAR(255) NOT NULL,
  `image` VARCHAR(255) NOT NULL
) ENGINE=INNODB DEFAULT CHARSET=utf8;

и этот медиа-стол

CREATE TABLE `media`(
`media_id` INT(11) NOT NULL,
`media_jpg` BLOB
);ENGINE=INNODB DEFAULT CHARSET=utf8;

я надеюсь, что кто-то может мне помочь

1 Ответ

0 голосов
/ 10 мая 2019

Как правило, ключи должны быть небольшими и простыми в использовании, ссылках и т. Д. Не используйте BLOB в качестве внешнего ключа, а вместо этого используйте его идентификатор. Например:

CREATE TABLE `media`(
  `media_id` INT(11) NOT NULL,
  `media_jpg` BLOB
);ENGINE=INNODB DEFAULT CHARSET=utf8;

Затем создайте таблицу, которая ссылается на эту:

CREATE TABLE `team` (
  `TE_ID` INT(11) NOT NULL,
  `TE_Name` VARCHAR(255) NOT NULL,
   image_id INT(11) NOT NULL,
   constraint fk1 foreign key (image_id) references `media` (`media_id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

Кроме того, вам не нужно использовать обратные кавычки для включения каждого имени столбца. Используйте их только тогда, когда у вас есть имена с пробелами или специальными символами. Похоже, это не относится ни к одному из имен вашей таблицы или столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...