无法在PHPmyadmin中创建外键

无法在PHPmyadmin中创建外键,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我正在尝试在我的一个表中创建外键,但是我遇到了这个错误。您能帮我解决这个问题吗 CREATE TABLE IF NOT EXISTS `albums` ( `id` smallint(5) unsigned NOT NULL, `url` mediumtext NOT NULL, `year` mediumint(9) NOT NULL, `album_name` varchar(150) NOT NULL, `album_cover` text NOT NULL, `t

我正在尝试在我的一个表中创建外键,但是我遇到了这个错误。您能帮我解决这个问题吗

CREATE TABLE IF NOT EXISTS `albums` (
  `id` smallint(5) unsigned NOT NULL,
  `url` mediumtext NOT NULL,
  `year` mediumint(9) NOT NULL,
  `album_name` varchar(150) NOT NULL,
  `album_cover` text NOT NULL,
  `tracks_id` text NOT NULL,
  `category` tinyint(4) NOT NULL,
  `reciter` tinyint(4) NOT NULL,
  `keywords` varchar(300) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
外键表结构

CREATE TABLE IF NOT EXISTS `album_likes` (
  `album_id` int(5) NOT NULL,
  `likes` int(11) NOT NULL,
  `dislikes` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
现在,我制作这个外键的方法是,在phpmyadmin中找到这个表的结构,然后添加约束名称并选择列 这是一个问题

ALTER TABLE `album_likes` ADD  CONSTRAINT `album_like_fk` FOREIGN KEY (`album_id`) REFERENCES `mp3script`.`albums`(`id`) ON DELETE CASCADE ON UPDATE NO ACTION;
我得到的输出


1215-无法添加外键约束外键要求在所引用的列上有索引,在本例中为
albums.id

添加索引:

CREATE INDEX ids_nn_1 on albums(id);
您创建的外键应该可以工作